You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求提供基于Python的Highcharts Stock 1.5.0多折线图示例

Python 实现 Highcharts Stock 1.5.0 双折线图示例

1. 安装指定版本依赖

先确保安装目标版本的 Highcharts Stock:

pip install highcharts-stock==1.5.0

2. 完整代码示例

以下代码展示两支股票收盘价的双折线图,包含数据准备、图表配置与渲染输出:

from highcharts_stock.chart import Chart
from highcharts_stock.options import HighchartsStockOptions
from highcharts_stock.options.series.line import LineSeries
from highcharts_stock.options.x_axis import DateTimeAxis
from highcharts_stock.options.y_axis import YAxis

# 模拟数据:日期(毫秒级时间戳)+ 两支股票收盘价
date_timestamps = [
    1620000000000, 1620086400000, 1620172800000, 1620259200000, 1620345600000,
    1620432000000, 1620518400000, 1620604800000, 1620691200000, 1620777600000
]
stock_a_prices = [120.5, 122.3, 121.8, 124.1, 123.5, 125.7, 126.2, 125.9, 127.3, 128.1]
stock_b_prices = [85.2, 84.8, 86.1, 87.3, 86.9, 88.2, 87.8, 89.1, 89.5, 90.3]

# 配置图表核心选项
options = HighchartsStockOptions(
    title={'text': '两支股票收盘价走势'},
    x_axis=DateTimeAxis(
        type='datetime',
        title={'text': '日期'}
    ),
    y_axis=YAxis(
        title={'text': '收盘价(元)'}
    ),
    tooltip={
        'split': True,
        'value_decimals': 2
    },
    series=[
        LineSeries(
            name='股票A',
            data=[[date, price] for date, price in zip(date_timestamps, stock_a_prices)]
        ),
        LineSeries(
            name='股票B',
            data=[[date, price] for date, price in zip(date_timestamps, stock_b_prices)]
        )
    ]
)

# 生成可交互的HTML图表文件
chart = Chart(options=options)
chart.render_to_file('stock_price_chart.html')
print("图表已生成,可打开 stock_price_chart.html 在浏览器查看")

3. 关键说明

  • 使用DateTimeAxis适配时间轴数据,确保日期格式正确解析
  • 通过LineSeries分别定义两支股票的折线系列,数据格式为[时间戳, 价格]的二维数组
  • 开启tooltip.split=True实现多系列数据的分栏提示,提升可读性
  • 最终输出的HTML文件支持Highcharts Stock原生交互功能(缩放、拖拽、数据提示等)

内容的提问来源于stack exchange,提问作者user1994584

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 00:40:09