我是一个完整的菜鸟,我希望用构建在lineChart之上的nvd3
库的python包装来绘制一个d3.js
。我一直在探索lineChart的lineChart,并希望利用自定义格式,以便在x轴上使用字符串。NVD3
基类来自文档状态create_x_axis(name, label=None, format=None, date=False, custom_format=False)
和NVD3 3/线条图
if kwargs.get('x_is_date', False):
self.set_date_flag(True)
self.create_x_axis('xAxis',
format=kwargs.get('x_axis_format', '%d %b %Y'),
date=True)
self.set_custom_tooltip_flag(True)
else:
if kwargs.get('x_axis_format') == 'AM_PM':
self.x_axis_format = format = 'AM_PM'
else:
format = kwargs.get('x_axis_format', 'r')
self.create_x_axis('xAxis', format=format,
custom_format=kwargs.get('x_custom_format', False))
但当我这么做的时候
lineChart(name="lineChart-With-Interactive-Guideline",height=400,width=800,x_is_date=False,custom_format=False,use_interactive_guideline=True)
我得到了一个空页,没有图表。有人能告诉我如何将x轴设置为允许字符串值,如"2016-07-01“、"2016-07-02”吗?
发布于 2022-08-22 14:52:43
必须在格式字符串中使用lineChart x_axis_format参数,即: x_axis_ format ='%d/%b/%Y‘
在此之后,需要将chart.add_serie x值设置为时间戳列表,因为时间戳不在Unix中,将它们乘以1000:
xdata = [(datetime.timestamp(x+timedelta(days=1)))*1000 for x in df"date"]
chart.add_serie( x=xdata )
https://stackoverflow.com/questions/38353731
复制相似问题