我在一个页面上有多个图表,无论我如何尝试明确说明,我都无法更改行的颜色。我按照官方文档,颜色不会改变。 https://github.com/areski/django-nvd3/blob/master/demoproject/demoproject/views.py#L275
extra_series1 = {"tooltip": {"y_start": "", "y_end": " Mbps"},
"date_format": tooltip_date,
'color': '#555555'}
chartdata = {
'x': xdata,
'name1': 'Requests Per Second', 'y1': ydata, 'extra1': extra_series1
}
但我可以额外:
'extra': {
'x_is_date': True,
'x_axis_format': '%H:%M:%S',
'tag_script_js': True,
'jquery_on_ready': False,
'color_category':'category10',
具有多行的图形将具有图形的调色板。但是,我需要1个线图的不同颜色。
基于pip显示的内容 - 我有最新版本。
的django-nvd3 == 0.6.0
答案 0 :(得分:1)
我知道这是一个非常古老的话题,但我自己也遇到了这个问题:
django-nvd3==0.9.7
python-nvd3==0.14.2
如果您查看python-nvd3 lineChart.py (line 27)代码示例,您会看到颜色必须作为关键字参数传递,如下所示:
kwargs2 = {'color': 'red'}
chart.add_serie(y=ydata, x=xdata, name='sine', extra=extra_serie, **kwargs1)
然后,如果你看看 django_nvd3/templatetags/nvd3_tags.py#L67来源你可以看到从每个系列中重新创建了这个相同的关键字参数,就像" extra1"和" extra2"是从their demo_linechart创建的。 因此,如果您想要一条线为红色而另一条线为蓝色,则可以执行以下操作:
chartdata = {
'x': xdata,
# series 1
'name1': 'series 1',
'y1': ydata,
'extra1': extra_serie1,
'kwargs1': { 'color': 'red'}, # <- the important part
# series 2
'name2': 'series 1',
'y2': ydata2,
'extra2': extra_serie2,
'kwargs2': { 'color': 'blue'}, # <- the important part
}
我可能会使用修复程序创建一个池请求。
修改:我已经创建了pull request来修复代码示例。