你能提供一个用Python编写的包含多条折线图的highcharts_stock示例吗?
你能给我一个用Python写的例子吗?这个例子要用最新版本的highchart_stock 1.5.0(从pypi安装的),并且要包含两个系列,显示两只股票的收盘价,用折线图展示出来。
我试过查文档、看了很多例子,还用过highchart的聊天助手。但因为一些过时的例子,我只能部分成功,这让我很难把正确的解决方案拼凑起来。
1 个回答
完全公开:我是Highcharts for Python的主要作者
很抱歉你在使用Highcharts Stock for Python时遇到了问题。这里有一个教程,你可能会觉得有帮助,链接在这里。请注意,这个教程是为Highcharts Core写的,但同样的代码在Highcharts Stock中也能用(只需把导入语句改为从highcharts_stock
导入,而不是highcharts_core
)。
此外,你可以在我们的示例库中找到许多Highcharts Stock可视化的工作示例,链接在这里:https://github.com/highcharts-for-python/highcharts-for-python-demos
需要注意的是,Binder最近有一些性能问题,所以你可能想把这个库克隆到本地,查看Jupyter Notebooks,看看可视化效果如何。
话说回来,下面你会看到一个来自示例库的修改过的例子,展示了Highcharts Stock中两个线性系列的图表,显示了一些虚构的收盘价数据:
from highcharts_stock.chart import Chart
from highcharts_stock.options.series.area import LineSeries
import pandas as pd
import datetime as dt
df = pd.DataFrame({
'date':[
dt.datetime(2023,1,1),
dt.datetime(2023,1,2),
dt.datetime(2023,1,3),
dt.datetime(2023,1,4)
],
'closing1': [10,20,15,18],
'closing2': [12, 31, 45, 21]
})
line_series_1 = LineSeries.from_pandas(df,
property_map = {
'x': 'date',
'y': 'closing1'
})
line_series_2 = LineSeries.from_pandas(df,
property_map = {
'x': 'date',
'y': 'closing2'
})
my_chart = Chart(container = 'my_container',
options = {
'title' : {
'text': 'Ticker'
},
'x_axis' : {
'type': 'datetime',
'title': {
'text': 'Date'
}
},
'y_axis' : {
'title': {
'text': 'Closing Price'
}
},
'series' : [line_series_1, line_series_2]
}
)
当使用.to_js_literal()
方法将图表序列化为JS时,它会生成在这个JS Fiddle中显示的JS代码:https://jsfiddle.net/highchartspython/u31Ljrte/
显然,这个示例只是个玩具。数据框中生成的数据完全是虚构的,图表没有任何格式化或显著的交互性。不过,我希望你觉得它有帮助。
同时,感谢你的反馈。我们正在努力改进Highcharts for Python,并会在即将发布的版本中做出改进。