Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用GChartWrapper为Google图表创建动态标签_Python_Django_Google Visualization - Fatal编程技术网

Python 使用GChartWrapper为Google图表创建动态标签

Python 使用GChartWrapper为Google图表创建动态标签,python,django,google-visualization,Python,Django,Google Visualization,作为Django项目的一部分,我正在使用awesome创建图表。现在,我正在视图中使用Python创建图表实例,然后将实例添加到模板上下文中,并成功地在模板中显示图表 我遇到的问题是显示一组动态的X轴标签。以下是Google图表包装器中的相关代码: def label(self, index, *args): """ Label each axes one at a time args are of the form <label 1>,...,<

作为Django项目的一部分,我正在使用awesome创建图表。现在,我正在视图中使用Python创建图表实例,然后将实例添加到模板上下文中,并成功地在模板中显示图表

我遇到的问题是显示一组动态的X轴标签。以下是Google图表包装器中的相关代码:

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 

我有一个日期字符串列表,我想显示为x轴标签,有人知道我会怎么做吗?

为了了解如何正确传递标签,了解
*args
的含义很重要

函数(或本例中的方法)定义中的
*args
(星号+任意参数名)表示任意数量(包括0)的匿名参数

请参阅此以获得更全面的解释

这意味着所讨论的方法接受一个强制参数
index
,它是要标记的轴的索引和任意数量的匿名参数(实际标签)

知道了这一点,应该已经很清楚调用
label()
的正确方法如下:

chart.axes.label( 0, 'date 1', 'date 2', 'date 3', ... )
其中
0
是X轴的索引,所有其他参数都是各自的标签

之所以以这种方式实现,是因为标签的数量是未知的——这取决于图表,所以接受任意数量的标签似乎是个好主意

您可能还想看看这个示例

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