我无法从基于 CSV 文件的熊猫数据框中的 High 图表中添加动态系列。
CSV 文件中的数据如下所示。
Installation Manufacturing Sales & Distribution Project Development Other
43,934 24,916 11,744 - 12,908
52,503 24,064 17,722 - 5,948
57,177 29,742 16,005 7,988 8,105
69,658 29,851 19,771 12,169 11,248
97,031 32,490 20,185 15,112 8,989
119,931 30,282 24,377 22,452 11,816
137,133 38,121 32,147 34,400 18,274
154,175 40,434 39,387 34,227 18,111
我正在使用的代码
import pandas as pd
import csv
from highcharts import Highchart
FileName = "C:/Users/kumarso/Documents/Pthon/Pthon.csv"
FileName1 = "C:/ExcelP/Highcharts_Test.html"
H = Highchart()
data = pd.read_csv(FileName)
for i, series in enumerate(data):
H.add_data_set(series,
series_type='line',
name= data.columns)
# write out the html
with open(FileName1, "wt") as fh:
fh.write(H.htmlcontent)
当我打开 Html 文件查看图表时,它没有显示任何值、图例等。只有一个空图表。我遇到的问题是如何使用标题添加这样的系列。
series: [{
name: 'Installation',
data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175]
}, {
name: 'Manufacturing',
data: [24916, 24064, 29742, 29851, 32490, 30282, 38121, 40434]
}, {
name: 'Sales & Distribution',
data: [11744, 17722, 16005, 19771, 20185, 24377, 32147, 39387]
}, {
name: 'Project Development',
data: [null, null, 7988, 12169, 15112, 22452, 34400, 34227]
}, {
name: 'Other',
data: [12908, 5948, 8105, 11248, 8989, 11816, 18274, 18111]
}],
编辑 1:图表的结果应如下所示
图表系列在源代码中如下所示。它不需要数据。
var chart = new Highcharts.Chart(option);
var data = [{"data": "Installation", "type": "line", "name": "Series 1"}, {"data": "Manufacturing ", "type": "line", "name": "Series 2"}, {"data": "Sales & Distribution", "type": "line", "name": "Series 3"}, {"data": "Project Development", "type": "line", "name": "Series 4"}, {"data": "Other", "type": "line", "name": "Series 5"}];
var dataLen = data.length;
for (var ix = 0; ix < dataLen; ix++) {
chart.addSeries(data[ix]);
}
我有一个非常相似的问题,并使用您的帖子作为参考来解决,调整您的代码,对您来说它应该是这样的:
for series in enumerate(data):
for serie in series:
H.add_data_set(serie.data,
series_type='line',
name= serie.name)
希望能帮助到你。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句