1

Django プロジェクトの一環として、素晴らしいGoogle Chart Wrapperを使用してチャートを作成しています。現在、ビューで Python を使用してチャート インスタンスを作成し、インスタンスをテンプレート コンテキストに追加して、テンプレートにチャートを正常に表示しています。

私が問題を抱えているのは、動的な X 軸ラベルのセットを表示することです。Google Chart Wrapper からの関連コードは次のとおりです。

def label(self, index, *args): 
    """ 
    Label each axes one at a time 
    args are of the form <label 1>,...,<label n> 
    APIPARAM: chxl 
    """ 
    self.data['labels'].append( 
    str('%s:|%s'%(index, '|'.join(map(str,args)) )).replace('None','') 
    ) 
    return self.parent 

そして、現在私のビューでチャートを作成している方法:

from GChartWrapper import *

chart = Sparkline([1,2,3,4,5,6,7], encoding='text')
chart.axes.label(...) # need to set labels here

x 軸のラベルとして表示したい日付文字列のリストがあります。

4

1 に答える 1

2

ラベルを適切に渡す方法を理解するには、その*args意味を理解することが重要です。

*args(これはアスタリスク + 任意の引数名です) 関数 (またはこの場合はメソッド) 定義内の任意の数 (0 を含む) の無名引数を意味します。

より完全な説明については、この回答を参照してください。

indexこれは、問題のメソッドが、ラベル付けされる軸のインデックスである 1 つの必須引数と、任意の数の匿名引数 (実際のラベル) を受け入れることを意味します。

label()これを知っていれば、適切な呼び出し方法は次のとおりであることはすでに明らかです。

chart.axes.label( 0, 'date 1', 'date 2', 'date 3', ... )

0X 軸のインデックスで、他のすべての引数はそれぞれのラベルです。

これがこのように実装されている理由は、ラベルの数が不明であるためです。これはチャートに依存するため、任意の数のラベルを受け入れることは良い考えのようです。

こちらの例もご覧ください。

于 2012-10-25T10:34:06.107 に答える