Python 使用GChartWrapper为Google图表创建动态标签
作为Django项目的一部分,我正在使用awesome创建图表。现在,我正在视图中使用Python创建图表实例,然后将实例添加到模板上下文中,并成功地在模板中显示图表 我遇到的问题是显示一组动态的X轴标签。以下是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>,...,<
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', ... )