Pygal:显示每个数据点的信息
Pygal: Displaying information for each data point
我一直在研究 Pygal
,为我正在进行的项目创建一些折线图。我目前将我的 y axis
设置为记录的值,x axis
是进行测试的 date / time
。不过我也想 link 每个数据点的序列号。当您将鼠标悬停在数据点上时,您会得到粗体的 y 值,而在下方则得到记录的日期。
有谁知道是否可以 link 数据点信息而不用它们作为轴标签?
作为参考,我目前已将序列号添加到 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]
您可以通过以字典形式提供数据 (see the documentation here) 将工具提示设置为您喜欢的任何文本。每个值都应由至少具有 value
属性的 dict
表示,这与您直接提供给图表的值相同。然后您可以设置许多其他属性,其中包括 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
。
我一直在研究 Pygal
,为我正在进行的项目创建一些折线图。我目前将我的 y axis
设置为记录的值,x axis
是进行测试的 date / time
。不过我也想 link 每个数据点的序列号。当您将鼠标悬停在数据点上时,您会得到粗体的 y 值,而在下方则得到记录的日期。
有谁知道是否可以 link 数据点信息而不用它们作为轴标签?
作为参考,我目前已将序列号添加到 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]
您可以通过以字典形式提供数据 (see the documentation here) 将工具提示设置为您喜欢的任何文本。每个值都应由至少具有 value
属性的 dict
表示,这与您直接提供给图表的值相同。然后您可以设置许多其他属性,其中包括 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
。