
前端图表库金融科技【免费下载链接】HQChartHQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据替换接口项目地址https://gitcode.com/gh_mirrors/hq/HQChart点击查看免费下载HQChart 是一套面向 H5、微信小程序等场景的行情图表库其 K 线、分时图的全部配色与样式都收敛在一份全局样式配置对象g_JSChartResource中通过JSChart.GetResource()/JSChart.SetStyle()等静态接口即可读取、替换与刷新。本文基于仓库文档 K线图配色和样式参数详解 并对照 webhqchart 与 webhqchart.demo/jscommon 源码系统讲解白色/黑色两套内置风格的使用、样式配置字段的完整含义以及不刷新页面即可切换主题的实战方案。一、样式体系与加载机制HQChart 的所有 K 线样式配置统一加载到全局变量g_JSChartResource中背景色则由承载 K 线的 div 直接控制——插件画布背景是透明的因此修改背景只需要改外层 div 的 CSS 背景色而不必进入图表配置。从 umychart.js 源码可以看到样式相关的四个静态入口JSChart.SetStyle(option)把传入的样式配置整体写入g_JSChartResourceJSChart.GetResource()返回当前全局样式配置对象可直接对其字段做局部修改JSChart.SetCSSStyle(styleID)把风格 ID 写入html的hqchart_style属性驱动插件内置的 CSS 变量切换JSChart.Init()实例化图表源码注释明确要求“设置配色必须在JSChart.Init()之前”即先配好样式再创建实例。配合图形实例的ReloadResource({ Draw, Update })方法可在运行时把新样式真正重绘到画布上。二、核心样式函数2.1 获取全局样式配置 GetResource// 静态函数 JSChart.GetResourcefunction() // 获取全局样式配置返回的g_JSChartResource是一个可变对象内置颜色不满足需求时可直接修改其中的UpBarColor、DownBarColor、TooltipBGColor等字段后再重绘无需重建整个配置。2.2 获取内置样式配置 GetStyleConfigHQChart 内置两套风格白色风格与黑色风格。// 静态函数 HQChartStyle.GetStyleConfigfunction(styleid)styleid风格 ID定义于 umychart.style.js 的STYLE_TYPE_ID0白色风格STYLE_TYPE_ID.WHITE_ID1黑色风格STYLE_TYPE_ID.BLACK_ID其他值返回null。源码实现umychart.style.js中黑色风格由专门的GetBlackStyle()构建白色风格则直接new JSChartResource()使用默认值。需要说明的是调用该函数得到的是全新的配置对象副本后续SetStyle写入的是这个副本不会污染内置模板。2.3 修改全局样式配置 SetStyle// 静态函数 JSChart.SetStylefunction(config) // 设置全局样式配置config样式配置信息通常来自HQChartStyle.GetStyleConfig()的返回值也可以是自定义对象。源码中SetStyle会把传入的 option 交给g_JSChartResource.SetStyle(option)合并应用之后图形实例通过ReloadResource触发重绘。2.4 图形实例动态刷新样式 ReloadResourceReloadResourcefunction( option )option: { Draw: true, Update: true }Draw是否清除缓存后重绘图形Update是否不清除缓存重绘图形增量更新。在 webhqchart.demo/jscommon/umychart.js 中ReloadResource会把调用转发给内部的JSChartContainer.ReloadResource(option)。切换风格时通常传{ Draw: true, Update: false }即强制全量重绘。2.5 修改全局 CSS 样式变量 SetCSSStyle// 静态函数 JSChart.SetCSSStyle(styleID);styleID风格 ID同STYLE_TYPE_ID。其实现为document.documentElement.setAttribute(hqchart_style, styleID)见 umychart.js通过切换根节点上的hqchart_style属性联动样式表中基于[hqchart_style]属性选择器定义的 CSS 变量字体、图标、对话框等 DOM 元素的颜色与 Canvas 上的 K 线配色相互独立、互不干扰。三、修改样式实战示例3.1 内置风格切换原生 JS// 风格设置必须在 SetOption 之前。 // 原生引用不需要加前缀 HQChart.Chart. var blackStyle HQChartStyle.GetStyleConfig(STYLE_TYPE_ID.BLACK_ID); // 读取黑色风格配置 JSChart.SetStyle(blackStyle); var resource JSChart.GetResource(); // 获取当前的全局样式配置 // 如果内置的颜色不满足需求可以自己修改 resource 样式配置3.2 内置风格切换vue2 npmimport HQChart from hqchart import hqchart/src/jscommon/umychart.resource/font/drawtool/iconfont.css; // HQChart 插件内部使用的 iconfont 图标 import hqchart/src/jscommon/umychart.resource/css/tools.css // HQChart 插件内置样式 // 风格设置必须在 SetOption 之前。 // npm 导入插件后需要加前缀 HQChart.Chart. var blackStyle HQChart.Chart.HQChartStyle.GetStyleConfig(HQChart.Chart.STYLE_TYPE_ID.BLACK_ID); // 读取黑色风格配置 HQChart.Chart.JSChart.SetStyle(blackStyle); var resource HQChart.Chart.JSChart.GetResource(); // 获取当前的全局样式配置 // 如果内置的颜色不满足需求可以自己修改 resource 样式配置3.3 不刷新页面切换样式原生 JSChangeStyle(styleID) { var style HQChartStyle.GetStyleConfig(styleID); // 读取目标风格配置 JSChart.SetCSSStyle(styleID); // 切换 CSS 变量风格 JSChart.SetStyle(style); // 写入 Canvas 配色 var resource JSChart.GetResource(); // 获取当前的全局样式配置 // 如果内置的颜色不满足需求可以自己修改 resource 样式配置 chart.ReloadResource({ Draw: true, Update: false }); // K线图实例重绘 }3.4 不刷新页面切换样式vue2ChangeStyle(styleID) { var style HQChart.Chart.HQChartStyle.GetStyleConfig(styleID); // 读取目标风格配置 HQChart.Chart.JSChart.SetCSSStyle(styleID); HQChart.Chart.JSChart.SetStyle(style); var resource HQChart.Chart.JSChart.GetResource(); // 获取当前的全局样式配置 // 如果内置的颜色不满足需求可以自己修改 resource 样式配置 chart.ReloadResource({ Draw: true, Update: false }); // K线图实例重绘 }这四段示例覆盖了原生引用与 npm 模块化引用两种场景其中ChangeStyle是白天/黑夜主题切换的完整闭环先切 CSS 变量再换 Canvas 配色最后强制全量重绘。四、样式配置信息详解4.1 基础样式字段字段名字段说明类型格式/说明UpBarColor上涨 K 线柱子颜色color黑色风格默认rgb(238,21,21)红涨DownBarColor下跌 K 线柱子颜色color黑色风格默认rgb(25,158,0)绿跌UnchagneBarColor平盘 K 线柱子颜色color黑色风格默认rgb(228,228,228)EmptyBarBGColor空心柱子背景色color黑色风格默认rgb(0,0,0)HighLowBarColorK 线类型为 Hig-Low 的柱子颜色colorHighLowTextK 线类型为 Hig-Low 的字体设置objectHighLowText:{ FontName:arial, MaxSize:30, MinSize:4, Color:rgb(41,98,255), MaxText:9999.9 }FontName 字体名称MaxSize/MinSize 字号最大最小范围Color 文字颜色MaxText 最长文字DefaultTextColor图形中默认字体颜色color黑色风格默认rgb(101,104,112)DefaultTextFont图形中默认字体font黑色风格默认14*devicePixelRatio px 微软雅黑TitleFont指标栏标题字体fontIndexTitleBGColor指标名字背景色colorIndexTitleBorderColor指标名字边框颜色colorIndexTitleBorderMoveOnColor指标名字边框颜色鼠标悬停colorIndexTitleBorderStyle指标名字边框样式0 直角边框1 圆角边框数值IndexTitleColor指标名字颜色colorKLineToolbar全局 K 线指标栏工具栏配置object详见 4.2 指标栏工具栏参数详解TooltipBGColor浮框背景色color黑色风格默认rgb(255,255,255)TooltipAlpha浮框背景色透明度数值黑色风格默认0.92SplashScreen数据下载提示信息配置object详见 4.3 数据下载提示信息参数详解HLCAreaK 线 HLC Area 图形配置object详见 4.4 K 线 HLC Area 图形参数详解HLCBarK 线 HLC Bar 图形配置object详见 4.5 K 线 HLC Bar 图形参数详解黑色风格各字段的默认取值可以直接对照 umychart.style.js 中的GetBlackStyle()实现它同时演示了标准的配置结构除上表字段外还包含BGColor、SelectRectBGColor、Minute、PopMinuteChart、PopKLineChart等分时图与弹窗配置。注意源码注释提示手机上字体大小需要乘以分辨率比GetDevicePixelRatio()即window.devicePixelRatio || 1。4.2 指标栏工具栏参数详解 KLineToolbar字段名字段说明类型ModifyIndex是否显示修改指标参数按钮boolChangeIndex是否显示切换指标按钮boolCloseIndex是否显示关闭窗口按钮boolOverlayIndex是否显示叠加指标按钮boolMaxMinWindow是否显示最大/最小化窗口按钮boolTitleWindow是否显示标题模式按钮boolExportData是否显示数据导出按钮boolAddIndexWindow是否显示增加指标窗口按钮boolIndexHelp是否显示指标帮助按钮boolIndexAIAnalyze是否显示 AI 分析按钮boolIsShowOverlayToolbar是否显示叠加坐标工具栏按钮boolIsShowOverlayFrame是否显示右侧叠加坐标boolIsDrawTitleBG是否绘制指标名字背景色boolIsShowNameArrow指标名字后是否显示下拉箭头bool这组开关用于控制指标栏上各功能按钮的显隐是精简界面、面向不同终端PC 横屏/手机竖屏定制 UI 的重要入口。4.3 数据下载提示信息配置 SplashScreen字段名字段说明类型格式BGColor背景色color黑色风格默认rgba(112,128,144,0.5)Title提示信息字符串TextColor文字颜色color黑色风格默认rgb(230,230,230)Font文字字体字符串如14px 微软雅黑该配置对应数据加载期间的启动提示层配合实例方法EnableSplashScreen(enable, option)见 webhqchart.demo/jscommon/umychart.js可控制其显示与样式。4.4 K 线 HLC Area 图形参数详解 HLCArea字段名字段说明类型黑色风格默认值HighLineColor最高价线段颜色colorrgb(238,21,21)LowLineColor最低价线段颜色colorrgb(25,158,0)CloseLineColor收盘价线段颜色colorrgb(156,156,156)LineWidth线段宽度数值2*devicePixelRatioUpAreaColor上涨面积颜色colorrgba(238,21,21,0.3)DownAreaColor下跌面积颜色colorrgba(25,158,0,0.3)HLC Area 是同时绘制最高/最低/收盘三条折线并以面积填充的图形类型涨跌面积默认使用半透明红绿以区分多空区间。4.5 K 线 HLC Bar 图形参数详解 HLCBar字段名字段说明类型Color柱子颜色colorWidth线段宽度数值HLC Bar 以柱子形式呈现高、低、收三个价位字段较少通常只调节颜色与线宽即可。五、源码级延伸样式如何生效为便于排查自定义配色不生效的问题这里梳理关键调用链静态接口定义于 webhqchart/umychart.jsSetStyle写入g_JSChartResourceSetCSSStyle设置根节点属性hqchart_styleGetResource返回全局配置引用风格模板构建于 webhqchart.demo/jscommon/umychart.style.jsSTYLE_TYPE_ID定义两种风格 IDGetBlackStyle()产出黑色风格完整对象HQChartStyle.GetStyleConfig()负责按 ID 分发实例刷新通过 webhqchart.demo/jscommon/umychart.js 的ReloadResource转发到内部容器执行重绘。三个环节的配合关系是先 SetStyle 改配置再 ReloadResource 触发重绘DOM 相关样式走 SetCSSStyleCanvas 配色走 SetStyle。二者缺一不可否则会出现画布颜色已变但按钮/文字仍沿用旧主题的割裂现象。六、注意事项风格设置SetStyle/SetCSSStyle必须在JSChart.Init()与SetOption之前完成否则实例创建时已捕获旧样式原生引用与 npm 导入的命名空间不同原生使用HQChartStyle/JSChartnpm 导入需加HQChart.Chart.前缀内置风格不能满足需求时推荐在GetStyleConfig返回的对象副本上做局部字段覆盖如只改UpBarColor、DownBarColor再SetStyle写入避免手工从零拼装整套配置手机端注意字号与线宽需按devicePixelRatio放大源码中黑色风格即采用2*GetDevicePixelRatio()、14*GetDevicePixelRatio() px这类写法本文配置字段与接口以 HQChart-skill/references/K线图配色和样式参数详解.md 及 webhqchart.demo/jscommon/umychart.style.js 当前仓库版本为准完整可运行的 K 线示例可参考 webhqchart.demo/samples/chart_kline.html。赞分享前端图表库金融科技【免费下载链接】HQChartHQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据替换接口项目地址https://gitcode.com/gh_mirrors/hq/HQChart点击查看免费下载相关推荐MediaPipe 在 ARM(aarch64) 上构建 Python 包完整指南从 pip 失败到一条命令出 wheelMediaPipe 在 ARM aarch64 上构建 Python 包完整指南从 pip 失败到一条命令出 wheel 上个月我在 Jetson AGX O前端图表库金融科技深度解析Open Generative AI开源无限制的AI视频制作平台实战指南深度解析Open Generative AI开源无限制的AI视频制作平台实战指南 在当今数字内容创作爆发的时代AI视频生成技术正在重塑影视制作和短视频创作的AI 应用媒体生成大模型SlackTextViewController 下拉刷新样式自定义动画与颜色修改SlackTextViewController 下拉刷新样式自定义动画与颜色修改 在移动应用开发中下拉刷新Pull to Refresh是提升用户体验的UI组件移动开发上一篇MCA Selector终极指南5步轻松解决Minecraft世界卡顿问题下一篇MCA Selector终极指南5个简单步骤彻底解决Minecraft世界卡顿问题创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考