Skip to main content
 首页 » 编程设计

python之Django-NVD3之无法更改线条颜色

2025年05月04日27tintown

我在一页上有多个图表,无论我如何尝试明确说明,我都无法更改线条的颜色。我遵循了官方文档,颜色没有改变。 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

请您参考如下方法:

我知道这是一个非常古老的话题,但我自己遇到了这个问题:

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 source 你可以看到这个相同的关键字参数是从每个系列重新创建的,就像“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修复了代码示例。