Skip to content

Releases: One-sixth/lightweight-charts-python

v2.5.1

10 Jun 04:20

Choose a tag to compare

[v2.5.1] - 2026-06-10

Added

  • HtmlTabChart iframe 嵌入示例: 新增示例 32_html_tab_chart 中的 iframe 嵌入演示,展示如何将 HtmlTabChart 嵌入其他 HTML 页面
    • 采用双文件方案:外壳 HTML + 图表内容 HTML,通过 <iframe src="..."> 引用
    • 记录了多种单文件方案(srcdoc/data:base64/blob/Shadow DOM/innerHTML)的失败原因
  • reset_sub(): 新增子图内容重置功能,清除子图全部内容但保留布局,不影响其他子图,reset 后可重用
    • 清除范围:K线数据、折线/柱状图系列、价格线、标记、绘图、表格、ToolBox、TopBar、Legend、Events、sync、handlers
    • 新增示例 33_reset_sub,演示 4 子图网格 + 主图 reset + 独立子图 + 十字光标同步恢复
    • 新增测试 test_reset_sub.py,自动化验证 Python + JS 双端资源清理
  • Table div 归属修复: Table 不再追加到全局容器,改为追加到所属图表的 div,修复多子图表格重叠问题
  • syncChartsAll 回调存储: crosshair 和 range 回调现在被正确存储到 _syncCallbacks 中,支持后续清理和重建

Changed

  • syncChartsAll 保护检查: target.legend?.div 检查仅保护 legendHandler 调用,不再阻断 setCrosshairPosition
  • DrawingTool/ContextMenu 访问权限: _chart_clickHandler_moveHandler_onRightClickdiv 改为 public,支持 ToolBox 清理
  • ToolBox 构造函数: 存储 _contextMenu_undoHandler 引用,支持精确清理

Fixed

  • syncChartsAll 回调未存储: 匿名回调改为命名变量并存储到 _syncCallbacks['__crosshairAll']/['__rangeAll'],支持 unsubscribe
  • _unsync_all 只处理部分回调: 改为遍历所有 _syncCallbacks 条目统一清理,兼容 syncChartssyncChartsAll 两种模式
  • _rebuildSync 排除 reset 子图: reset_sub 后改为调用 syncChartsAll 全量重建,不排除任何子图
  • setCrosshairPosition 异常中断: 用 try-catch 包裹,空数据图表异常不影响其他图表的十字光标同步
  • Table div 追加到全局容器: 移除 Table JS 构造函数中的 window.containerDiv.appendChild,由 Python 端控制追加位置

[v2.4.2] - 2026-06-07

Added

  • HtmlTabChart: 新增多策略 Tab 切换图表,支持多策略切换、交易明细、绩效指标展示
    • 改自 smalinin/bn_lightweight-charts-python 的 HtmlChart_BN
    • 新增示例 32_html_tab_chart
    • 支持技术指标(SMA、布林带)、买卖标记、图例显示
    • 使用专用标记 html-tab-chart-marker 实现自适应高度计算

Changed

  • API 重命名: StaticLWC.load()export()_load()_export()
  • HTMLChart: 移除 filename 构造参数,改为 export(filename) 方法
  • HtmlTabChart: 移除 filename 构造参数,改为 export(filename) 方法
  • ReflexChart: load()export()_load()_export()

Fixed

  • HtmlTabChart 多策略代码丢失: 修复 _prepare_html() 只遍历历史策略,遗漏当前策略的问题
  • HtmlTabChart UTF-8 编码: 修复 HTML 文件写入时的 UnicodeEncodeError
  • marker API 参数格式: 修复 positionshape 参数使用错误格式导致标记不显示的问题
  • HtmlTabChart X 轴刻度被裁剪: 修复图表高度计算错误导致 X 轴刻度不可见的问题
  • HtmlTabChart 滚动条: 修复页面出现滚动条的问题,改用 flexbox 布局

v2.4.1

31 May 08:15

Choose a tag to compare

修复chart.set_position 漏了计算 topbar 的宽度,导致内容轻微溢出了显示区域

更新 v2.4 版本

28 May 14:40

Choose a tag to compare

详情请看 history 和 ReadMe

v2.3.2

10 May 17:58

Choose a tag to compare

Full Changelog: 首次发布...v2.3.2

对 series 增加 batch_update api 。对 K线图 批量更新,进一步加速

首次发布

08 May 19:09

Choose a tag to compare

-- 首次发布

-- 其他
其中 node_modules 为js bundle 构建依赖,若自行下载依赖识别,可以本 node_modules.zip 临时替代
node_modules.zip

替代方法,解压 node_modules.zip 获得 node_modules 文件夹,然后放到 lightweight-charts-python 文件夹目录中

Full Changelog: https://github.com/One-sixth/lightweight-charts-python/commits/%E9%A6%96%E6%AC%A1%E5%8F%91%E5%B8%83