高级可视化图表的暗色模式与主题|Highcharts 自适应主题配色全解

Highcharts 主题是一组预定义的选项,在每个图表实例化之前作为默认的 Highcharts 选项应用。Highcharts 提供了几种主题,可以通过在页面中包含以下模式的脚本标签,轻松应用到您的图表中:

html 复制代码
<script src="https://code.highcharts.com/themes/adaptive.js"></script>

TypeScript主题的源代码可以在 Highcharts repository找到.

当使用 styled
mode
,

时,可以通过加载additional CSS
files
来应用主题。

高级图表中的暗模式,自适应主题

Highcharts附带一个自适应主题,/themes/adaptive.js, 它使用CSS变量根据用户偏好的配色方案进行响应式调整(自v12.3起)。它有三种模式:

  1. System . 系统。除非由实现者另行指定,否则自适应主题会根据 偏好色彩方案prefers-color-scheme CSS媒体查询使用配色方案。

  2. Forced light .强制亮色。如果任何图表父元素具有 highcharts-light

    类名。

  3. Forced dark.强制暗色。如果任何图表父元素具有highcharts-dark类名。

在典型的网站设置中,最终用户可以在系统、浅色和深色模式之间切换。这可以与页面的类名关联,以使图表保持一致。

自适应主题可以扩展为两个层次:

  1. 按照下面的示例定义你自己的颜色变量。关于默认的CSS变量名,请参见 css/colors
    demo
    .
  2. 如果需要更细粒度的控制,Highcharts中的颜色设置支持CSS变量,例如 background: 'var(--my-custom-background)'.

创建你自己的主题

通过创建一个配置对象并将其应用到图表中,可以应用自定义主题,使用 Highcharts.setOptions方法(这在主题的JavaScript文件中完成)。

使用 调色板 辅助工具palette helper 来帮助你创建自己的颜色主题。

这是一个简单的非自适应主题的示例:

js 复制代码
Highcharts.theme = {
    colors: ['#058DC7', '#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572',
             '#FF9655', '#FFF263', '#6AF9C4'],
    chart: {
        backgroundColor: {
            linearGradient: [0, 0, 500, 500],
            stops: [
                [0, 'rgb(255, 255, 255)'],
                [1, 'rgb(240, 240, 255)']
            ]
        },
    },
    title: {
        style: {
            color: '#000',
            font: 'bold 16px "Trebuchet MS", Verdana, sans-serif'
        }
    },
    subtitle: {
        style: {
            color: '#666666',
            font: 'bold 12px "Trebuchet MS", Verdana, sans-serif'
        }
    },

    legend: {
        itemStyle: {
            font: '9pt Trebuchet MS, Verdana, sans-serif',
            color: 'black'
        },
        itemHoverStyle:{
            color: 'gray'
        }
    }
};

// Apply the theme
Highcharts.setOptions(Highcharts.theme);
相关推荐
Highcharts.js几秒前
技术组合分析:Highcharts 的数据集成能力解析
java·前端·金融·echarts·saas·bi·highcharts
在下有个宝贝2 分钟前
GIS前端开发之路——Openlayers为地图添加自定义标注(四)
前端
a1117764 分钟前
RIPPLE 流体交互(html 开源)
前端·javascript·html
薛定猫AI9 分钟前
【深度解析】Qwen 3.6 Max Preview:面向智能体编码、视觉推理与 Three.js 前端生成的能力拆解
开发语言·前端·javascript
HashTang16 分钟前
我的开源项目帮独立开发者和 OPC 省掉的,不只是刷信息的时间
前端·ai编程·aiops
掘金者阿豪19 分钟前
Spring Data JPA 接入金仓数据库:少写代码,多干活
前端·后端
Moment23 分钟前
AI 时代,为什么全栈项目越来越离不开 Monorepo 和 TypeScript
前端·javascript·后端
shaoFan137 分钟前
关于java 调用阿里千问大模型,流式返回,并返回给前端
java·前端·状态模式
❆VE❆1 小时前
React基础篇(三):项目中 React 基础核心知识点实战
前端·javascript·react.js·前端框架
Hello--_--World1 小时前
React 的核心设计理念是什么?并列举三大核心特性。
javascript·react.js·ecmascript