sin
=
Math
.
sin
,
deg2rad
=
Math
.
deg2rad
;
highcharts
.
wrap
(
highcharts
.
seriesTypes
.
pie
.
prototype
,
'translate'
,
function
(
proceed
)
{
proceed
.
apply
(
this
,
[
]
.
slice
.
call
(
arguments
,
1
)
)
;
if
(
!
this
.
chart
.
is3d
(
)
)
{
return
;
var
series
=
this
,
chart
=
series
.
chart
,
options
=
chart
.
options
,
seriesOptions
=
series
.
options
,
depth
=
seriesOptions
.
depth
||
0
,
options3d
=
options
.
chart
.
options3d
,
alpha
=
options3d
.
alpha
,
beta
=
options3d
.
beta
,
z
=
seriesOptions
.
stacking
?
(
seriesOptions
.
stack
||
0
)
*
depth
:
series
.
_i
*
depth
;
z
+=
depth
/
2
;
if
(
seriesOptions
.
grouping
!==
false
)
{
z
=
0
;
each
(
series
.
data
,
function
(
point
)
{
var
shapeArgs
=
point
.
shapeArgs
,
angle
;
point
.
shapeType
=
'arc3d'
;
var
ran
=
point
.
options
.
h
;
shapeArgs
.
z
=
z
;
shapeArgs
.
depth
=
depth
*
0.75
+
ran
;
shapeArgs
.
alpha
=
alpha
;
shapeArgs
.
beta
=
beta
;
shapeArgs
.
center
=
series
.
center
;
shapeArgs
.
ran
=
ran
;
angle
=
(
shapeArgs
.
end
+
shapeArgs
.
start
)
/
2
;
point
.
slicedTranslation
=
{
translateX
:
round
(
cos
(
angle
)
*
seriesOptions
.
slicedOffset
*
cos
(
alpha
*
deg2rad
)
)
,
translateY
:
round
(
sin
(
angle
)
*
seriesOptions
.
slicedOffset
*
cos
(
alpha
*
deg2rad
)
)
}
)
;
}
)
;
(
function
(
H
)
{
H
.
wrap
(
highcharts
.
SVGRenderer
.
prototype
,
'arc3dPath'
,
function
(
proceed
)
{
var
ret
=
proceed
.
apply
(
this
,
[
]
.
slice
.
call
(
arguments
,
1
)
)
;
ret
.
zTop
=
(
ret
.
zOut
+
0.5
)
/
100
;
return
ret
;
}
)
;
}
(
highcharts
)
)
;
highcharts
.
chart
(
'pieMain'
,
{
chart
:
{
type
:
'pie'
,
animation
:
false
,
backgroundColor
:
'rgba(0, 0, 0, 0)'
,
events
:
{
load
:
function
(
)
{
var
each
=
highcharts
.
each
,
points
=
this
.
series
[
0
]
.
points
;
each
(
points
,
function
(
p
)
{
p
.
graphic
.
attr
(
{
translateY
:
-
p
.
shapeArgs
.
ran
}
)
;
p
.
graphic
.
side1
.
attr
(
{
translateY
:
-
p
.
shapeArgs
.
ran
}
)
;
p
.
graphic
.
side2
.
attr
(
{
translateY
:
-
p
.
shapeArgs
.
ran
}
)
;
}
)
;
options3d
:
{
enabled
:
true
,
alpha
:
75
,
beta
:
0
title
:
''
,
plotOptions
:
{
pie
:
{
allowPointSelect
:
true
,
cursor
:
"pointer"
,
innerSize
:
0
,
size
:
390
,
depth
:
45
,
dataLabels
:
{
enabled
:
true
,
distance
:
0
,
color
:
'#b9b8ce'
,
style
:
{
textOutline
:
'none'
,
fontSize
:
'12'
formatter
:
function
(
)
{
let
name
=
this
.
point
.
name
let
value
=
this
.
y
return
name
+
value
+
'%'
credits
:
{
enabled
:
false
series
:
[
{
type
:
'pie'
,
name
:
''
,
data
:
[
{
'name'
:
'搜狗'
,
y
:
30.0
,
h
:
50
}
,
{
name
:
''
,
y
:
26.8
,
h
:
15
}
,
{
name
:
'谷歌'
,
y
:
12.8
,
h
:
20
}
,
{
'name'
:
'IE'
,
y
:
8.5
,
h
:
2
}
,
{
'name'
:
'火狐'
,
y
:
6.2
,
h
:
15
}
)
;
最近做可视化比较多,就常用的
图
表类型做了一下总结。
因为做可视化的
图
表代码量非常大,所以会把echarts
图
表单独抽离出来,封装成一个组件,也可以复用,所以这里我直接把封装的组件直接放在这里,是可以直接拿来用的,根据所需稍作修改即可。
这里都是用的vue3,其实和vue2差不多,在写法上稍作修改即可
第一步首先安装
highcharts
npm install
highcharts
--save
第二步 main.js 引入 3d相关
import
highcharts
from 'hi..
npm install
highcharts
--save
2.在main.js中引用
highcharts
, 注意:画3D
图
需要使用到
highcharts
里面的
highcharts
-3d
import
Highcharts
from '
highcharts
'
引入
Highcharts
文件
在index.html 页面引入
<script src="http://code.
highcharts
.com/
highcharts
.js"></script>
<script src="http://code.
highcharts
.com/
highcharts
-3d.js"></script>
准备一个呈现
图
表的盒子
<div id="DispatchProportion"></div>
第一篇:VUE 使用
HighCharts
画 3D环/
饼
图
前言:自己在弄一个大屏项目中,在使用Echarts 画3D环/
饼
图
时遇到了问题,官方也没有例子,最后采用了
HighCharts
。
话不多说,先直接上效果
图
,有需要的大家可借鉴借鉴。
下面是步骤以及代码:
1.npm 安装
highcharts
npm install
highcharts
--save
2.在main.js中引用
highcharts
, 注意:画3D
图
需要使用到
highcharts
里面的 highchar.
要在Vue中使用
Highcharts
绘制3D
饼
图
,首先需要在你的项目中安装vue-
highcharts
库,并在main.js中引入
Highcharts
和
Highcharts
-3D模块。可以按照以下步骤进行操作:
1. 使用npm在你的项目中安装vue-
highcharts
库。
2. 在main.js中引入
Highcharts
和
Highcharts
-3D模块:
import
highcharts
from '
highcharts
'
import
highcharts
3d from '
highcharts
/
highcharts
-3d'
highcharts
3d(
highcharts
)
3. 在Vue组件中使用vue-
highcharts
组件,并设置你的3D
饼
图
的配置。
4. 参考上述的Vue教程来绘制3D
饼
图
。
通过以上步骤,你就可以在Vue中使用
Highcharts
库绘制3D
饼
图
了。请确保你已经正确安装了依赖库并按照引用和引用提供的方法进行配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [【
highCharts
绘制3d
饼
图
】有、无高低差的3d
饼
图
](https://blog.csdn.net/phhzhhh/article/details/125807211)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [vue单页面中使用
highcharts
绘制3D
饼
图
](https://blog.csdn.net/qq_46566911/article/details/121280786)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]