你能提供一个用python编写的带有多个折线图的highcharts_stock示例吗?

问题描述 投票:0回答:1

你能给我指一个用 python 编写的示例吗?该示例使用最新版本的 highchart_stock 1.5.0(从 pypi 安装)用于 python,并包含 2 个系列,显示以折线图显示的两只股票的收盘价?

我已经尝试过文档、一些示例和 highchart 的 chatgtp 帮助。由于过时的示例阻止我拼凑出正确的解决方案,我取得了不同程度的部分成功。

python highcharts stock
1个回答
0
投票

全面披露:我是 Highcharts for Python 的主要作者

很抱歉您在使用 Highcharts Stock for Python 时遇到问题。 这里有一个教程,您可能会发现它很有帮助。请注意,本教程是为 Highcharts Core 编写的,但完全相同的代码也适用于 Highcharts Stock(只需将导入语句更改为从

highcharts_stock
而不是
highcharts_core
导入)。

此外,您可以在此处链接的示例存储库中找到许多 Highcharts 股票可视化的工作示例:https://github.com/highcharts-for-python/highcharts-for-python-demos

请注意,Binder 最近出现了一些性能问题,因此您可能需要克隆存储库以在本地查看 Jupyter Notebook,以了解可视化效果的呈现方式。

话虽这么说,下面您会发现演示存储库中的修改示例,显示 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/

显然,这个玩具示例只是一个玩具。数据框中生成的数据完全是虚构的数据,图表不具有任何格式或显着的交互性。但无论如何,我希望你觉得它有帮助。

同时,感谢您的反馈。我们正在努力通过即将推出的 Python 版 Highcharts 版本来改进功能。

© www.soinside.com 2019 - 2024. All rights reserved.