Django-NVD3 - 无法更改线条颜色
我在一个页面上有多个图表,但无论我怎么尝试,都无法改变线条的颜色。我按照官方文档的说明去做,颜色还是没有变化。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',
而且有多个线条的图表会有一个颜色调色板可以选择。但我需要的是单线图的不同颜色。
根据pip显示的内容,我安装的是最新版本。
django-nvd3==0.6.0
1 个回答
1
我知道这个话题很老旧,但我自己在运行时也遇到了这个问题:
django-nvd3==0.9.7
python-nvd3==0.14.2
如果你查看一下这个python-nvd3的lineChart.py(第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”是从他们的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
}
我可能会创建一个补丁请求来修复这个问题。
编辑:我已经创建了一个补丁请求,修复了这个代码示例。