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

在Justpy中添加Highcharts Stock选项:hollowcandlestick与Stock Tools

在Justpy中配置Highcharts Stock系列及工具的解决方案

一、切换为hollowcandlestick/hlc系列(解决页面空白问题)

页面空白的核心原因是hollowcandlestick、hlc属于Highcharts Stock专属系列类型,Justpy默认加载的基础Highcharts模块不包含这些,必须显式指定加载Stock模块。

实现代码示例

import justpy as jp
import pandas as pd

# 生成模拟K线数据
df = pd.DataFrame({
    'open': [150, 152, 151, 155, 154],
    'high': [153, 154, 153, 157, 156],
    'low': [148, 150, 149, 152, 151],
    'close': [152, 151, 155, 156, 153],
    'date': pd.date_range('2024-05-01', periods=5)
})

def hollow_candlestick_demo():
    wp = jp.WebPage()
    # 关键:初始化HighCharts时指定加载stock模块
    chart = jp.HighCharts(a=wp, modules=['stock'])
    
    # 基础图表配置
    chart.options.title.text = 'Hollow Candlestick Demo'
    chart.options.xAxis.type = 'datetime'
    chart.options.yAxis.title.text = 'Stock Price'
    
    # 配置hollowcandlestick系列(替换candlestick即可)
    chart.options.series = [{
        'type': 'hollowcandlestick',
        'name': 'Daily Price',
        # 转换数据格式:[时间戳(毫秒), 开盘, 最高, 最低, 收盘]
        'data': [[d.timestamp()*1000, o, h, l, c] for d, o, h, l, c in zip(df.date, df.open, df.high, df.low, df.close)]
    }]
    return wp

jp.justpy(hollow_candlestick_demo)

注意事项

  • 必须通过modules=['stock']参数加载Stock模块,否则浏览器会因找不到系列类型抛出错误,导致页面空白。
  • hlc系列的配置逻辑完全一致,只需将type改为'hlc'即可。

二、添加Stock Tools功能

Stock Tools同样依赖Highcharts Stock模块,在加载模块的基础上,只需在图表配置中开启stockTools即可。

实现代码示例(基于上面的demo扩展)

在hollow_candlestick_demo函数中,添加Stock Tools的配置:

# 在基础图表配置后添加
chart.options.stockTools = {
    'gui': {
        'enabled': True,
        # 可选:自定义工具按钮,不设置则使用默认全套工具
        'buttons': {
            'indicators': {'menuItems': ['indicators', 'separator', 'volume']},
            'zoom': {'menuItems': ['zoomX', 'resetZoom']}
        }
    }
}

说明

  • 开启stockTools.gui.enabled = True后,图表顶部会出现默认的Stock Tools工具栏,包含缩放、指标绘制、时间范围选择等功能。
  • 若需要自定义工具按钮,可通过buttons参数筛选或添加所需功能,具体可参考Highcharts官方的Stock Tools配置项。

三、Justpy使用的Highcharts版本查询

Justpy内置的Highcharts版本可以直接通过代码打印查看:

import justpy as jp
print(jp.HighCharts.highcharts_version)

当前(2024年)Justpy默认使用的Highcharts版本为v10.x及以上,远高于Stock Tools要求的v7版本,完全满足功能需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 08:23:55