我一直在玩Pygal
,为我正在从事的项目创建了一些折线图。目前,我已将y axis
设置为记录的值,并将x axis
设置为进行测试的date / time
。但是,我也想将序列号链接到每个数据点。当您将鼠标悬停在数据点上时,会以粗体显示y值,而您会得到记录日期。
有人知道是否可以将信息链接到数据点而不将其作为轴标签?
作为参考,我目前将序列号添加到list: 'sn_list'
中。
for row in line_graph_query:
if str(row.date_time) >= start_date and str(row.date_time) <= end_date :
min_values.append(float(row.minimum_value))
max_values.append(float(row.maximum_value))
recorded_values.append(float(row.recorded_value))
sn_list.append(row.product_serial_number)
date_list.append(row.date_time)
number_of_records = number_of_records + 1
print(min_values)
print(max_values)
print(recorded_values)
distance_x_axis = math.floor(number_of_records/6)
line_chart = pygal.Line(no_data_text='No result found', style=custom_style,x_labels_major_every=distance_x_axis, x_label_rotation=20, show_minor_x_labels=False )
line_chart.title = 'Detailed Results of '+test_name+' tests of '+board_pn
line_chart.x_labels = map(str,date_list)
line_chart.add('Minimum', min_values)
line_chart.add('Maximum', max_values)
line_chart.add('Recorded', recorded_values)
graph_render.append(line_chart.render_data_uri())
graphs_to_render[test_name] = graph_render[-1]
答案 0 :(得分:0)
您可以通过将数据作为字典(see the documentation here)来将工具提示设置为所需的任何文本。每个值都应由至少具有dict
属性的value
表示,这与您直接提供给图表的值相同。然后,您可以设置许多其他属性,其中label
。
通过更改在if
结构中追加数据的三行代码,您应该能够获得所需的工具提示:
min_values.append({"value": float(row.minimum_value),
"label": row.product_serial_number})
max_values.append({"value": float(row.maximum_value),
"label": row.product_serial_number})
recorded_values.append({"value": float(row.recorded_value),
"label": row.product_serial_number})
除非您在其他地方使用它,否则这也意味着您不需要sn_list
。