使用 Highcharts 3D图表入门

开始使用 Highcharts 3D 支持

Highcharts 3D 是一个 Highcharts 模块,提供有限的三维支持。它目前允许创建三维柱状图、三维饼图和三维散点图。

加载所需的文件

要使用 Highcharts 3D,首先需要像平常一样加载 Highcharts,然后加载额外的 3D 插件模块

html 复制代码
<script src="https://code.highcharts.com/highcharts-3d.js"><script>

(This should be included after highcharts.js)

配置图表的三维选项

加载3D模块不会改变已有的图表,除非它们被特别设置为3D,这样你就可以在同一页面上同时拥有3D图表和普通图表。

一般来说,3D图表的配置是在选项的图表部分完成的,而不同图表类型的某些特定设置可以在 绘图选项plotOptions 中找到;这里你可以看到完整扩展的3D选项及其对应的值类型:

js 复制代码
chart: {
    ....
    options3d: {
        enabled: 'boolean value',
        alpha: 'numeric value',
        beta: 'numeric value',
        depth: 'numeric value',
        viewDistance: 'numeric value',
        frame: {
            bottom: {
                size: 'numeric value',
                color: 'color value'
            },
            side: {
                size: 'numeric value',
                color: 'color value'
            },
            back: {
                size: 'numeric value',
                color: 'color value'
            }
       }
   },
   ...
}
...
plotOptions: {
    ...
    column: {
        ...
        depth: 'numeric value',
        groupZPadding: 'numeric value',
        ...
    },
    ...
    pie: {
        depth: 'numeric value'
    },
    ...
}

综合

对于所有3D图表,以下选项是最重要的(属于 chart.options3d):

  • enabled 这表示图表是否需要三维,将其设置为 true。
  • depth 图表的总深度,默认为 100。
  • viewDistance 这定义了观察者与图表的距离。
  • alpha 和 beta 角度 用于控制图表视角的旋转角度。

请注意,设置较低的 viewDistance 可能会导致透视效果扭曲,因为观察点距离图表太近。

在 3D图表选项中chart.options3d ,还可以构建围绕图表的三个面板,称为 框架frame ,默认这些面板是不可见的,但它们可以在 图表.3D.框架chart.options.3d.frame 中分别进行配置:

js 复制代码
bottom|side|back: {
    size:   The thickness of the pane (defaults to 0)
    color:  The color of the pane (default to transparent)
}

3D Columns 三维柱状图

columns: 类型为 columns柱状图 的3D图表会将每个柱子绘制成立方体,从而产生3D效果。默认情况下,这个柱子的深度设置为25。要定义其他深度,您需要进入绘图选项并为柱状图设置一个:

js 复制代码
plotOptions.column.depth: The depth of each individual column.

显示多个柱子

就像普通柱状图一样,Highcharts 的 3D 插件也允许显示一系列图表,并可以使用 分组grouping 和 堆叠stacking 等技术按需排列。

默认情况下,在Highcharts中是分组groupingtrue 开启 ,显示柱状图的柱子彼此相邻,在Highcharts 3D中也是一样:柱子会在图表的前排紧挨着。

通过将分组grouping 设置为 false 关闭 ,柱子会按照出现顺序一个接一个地排列在后面。默认行为是柱子之间没有空隙,这可以通过设置分组Z填充groupZPadding参数来调整。

js 复制代码
plotOptions.column.groupZPadding: Spacing between columns on the z-axis.

确保图表的深度足以显示所有的柱子。你至少需要以下深度:柱子数量 ×(柱子深度 + z 方向的填充)。

常规的Highcharts柱状图也支持堆叠柱子,当然在3D图表中也同样适用,方法是将堆叠stacking 设置为true开启,并为每个系列定义一个堆叠编号。

3D Pie 三维饼图

对于 pie chart 饼图 总图的深度并不重要,设置框架也没有任何作用(框架与轴线相关联,而饼图没有像其他图表那样的轴线)。设置plotOptions.中的深度属性非常重要。

js 复制代码
plotOptions.pie.depth: Defines the 'thickness' of the pie.

3D Scatter 三维散点图

除了像普通scatter chart 散点图那样的x和y坐标外,3D插件还为每个点添加了一个额外的z坐标,以实现三维空间中的位置。与普通图表类似,这些坐标可以直接传递,也可以使用数组的形式。

js 复制代码
{x: 1, y: 1, z: 1} is the same point as [1,1,1]

3D Area 三维区域图

类型为 area 面积/区域图 的 3D 图表与柱状系列类似。它会将每个面积系列绘制成一个 3D 平面。默认情况下,面积系列的深度设置为 25。

显示多个区域

就像在普通的区域图中一样,Highcharts 3D 插件确实允许显示多个区域系列,并可以根据需要使用 分组grouping 和 堆叠stacking 来排序这些系列。

Make sure the depth of the chart is sufficient to display all your area series. You will need at least the following depth: (number of area series - 1) * (depth of single area series)

在3D图表中,堆叠功能仍然可用,并且以完全相同的方式工作,只需将 堆叠stacking 设置为true.

相关推荐
EliseL10 小时前
SuperMap iObjects Java 如何将3DTiles数据转换为S3M三维瓦片
java·3d·三维
qq_5324535313 小时前
使用 GaussianSplats3D 在 Vue 3 中构建交互式 3D 高斯点云查看器
前端·vue.js·3d
CoLiuRs13 小时前
Image-to-3D — 让 2D 图片跃然立体*
python·3d·flask
新启航光学频率梳15 小时前
特种爆破装置传爆深孔孔深光学3D轮廓测量-激光频率梳3D轮廓技术
科技·3d·制造
应用市场15 小时前
基于稠密对应关系的3D人体网格回归技术详解
3d·数据挖掘·回归
Simple_core17 小时前
3d实现公告牌Billboard
qt·3d
Coovally AI模型快速验证1 天前
10亿参数刷新OCR记录:LightOnOCR-2如何以小博大?
人工智能·学习·yolo·3d·ocr·人机交互
PHOSKEY1 天前
光子精密3D工业相机实现3C/汽车/半导体连接器pin针高效质检
数码相机·3d·汽车
杀生丸学AI1 天前
【视频生成】SRENDER:基于<稀疏扩散>与<3D渲染>的像机轨迹视频生成
人工智能·深度学习·3d·三维重建·世界模型·空间智能·高斯溅射
不含硫jun2 天前
windows中高斯泼建(gaussian-splatting)库安装 兼容vs2022 cuda11.8 UE5.3.2
pytorch·3d·ue5·visual studio