python-nvd3缺少xAxis滴答声

时间:2017-07-09 20:18:51

标签: python d3.js python-nvd3

我使用python-nvd3在python中创建一个多栏图表。

问题是图表上只显示每隔一个X轴刻度/标签。

我生成的是python中的图表,然后将其传递给flask-template。

这个问题也在另一个SO帖子中描述,但解决方案是针对Angular的,并没有指出我可以在创建它之前将python中的属性传递给图表的方式。

StackOverflow solution 1 here

StackOverflow solution 2 here

解决方案建议设置属性.reduceXTicks(true)但我的问题是我无法在python中看到设置此自定义属性的方法。

这就是图表的样子。

enter image description here

这是我生成图表的方式,以及下面的X轴和Y轴数据:

fchart = multiBarChart(name='f_multibarchart', width=1000, height=400, x_axis_format=None, color_category="category10")

xdata ['510', '125', '630', '625', '650', '1000', '805', '515', '610', '800']
ydata1 [0, 0, 0, 0, 1, 15, 0, 0, 0, 0]
ydata2 [1, 17, 23, 1, 29, 0, 0, 2, 0, 13]

fchart.add_serie(name="Full", y=ydata1, x=xdata)
fchart.add_serie(name="Low", y=ydata2, x=xdata)

欢迎任何帮助

1 个答案:

答案 0 :(得分:2)

问题解决了!

为我设置reduceXTicks(false) 不起作用

我发现缺少X刻度的不透明度设置为0,所以我所做的就是使用add_chart_extras()函数将不透明度推到1所有刻度。

fchart = multiBarChart(name='f_multibarchart', width=1000, height=400, x_axis_format=None, color_category="category10")
extras = "d3.selectAll('#f_multibarchart text').style('opacity', '1');"
fchart.add_chart_extras(extras)

enter image description here