如何利用Python的pyecharts绘制3d柱形图?

2025-11-20 15:22:20

1、从pyecharts中导入Bar3D模块。

from pyecharts import Bar3D

如何利用Python的pyecharts绘制3d柱形图?

2、假设我们的数据集是一个数据框。

 data=pd.DataFrame({'month':['1月','2月','3月','1月','2月','3月'],'city':['北京','北京','北京','上海','上海','上海'],'sales':[400,500,430,550,600,420]}) 

该数据集有三个维度,分别是month、city、sales。其中month、city是类别变量,sales是数值型变量。

如何利用Python的pyecharts绘制3d柱形图?

3、由于Bar3D处理的数据要求是列表型,这里对数据框数据做一些处理。

x,y轴表示类目轴,取值是独立不重复的。

 x_name = list(set(data.iloc[:, 0]))y_name = list(set(data.iloc[:, 1])) 

结果为:

x_name

['上海', '北京']

y_name

['2月', '3月', '1月']

如何利用Python的pyecharts绘制3d柱形图?

4、将原始数据框数据转换成列表型。

data_xyz=[]

for i in range(len(data)):

     x=x_name.index(data.iloc[i,0])

     y=y_name.index(data.iloc[i,1])

     z=data.iloc[i,2]

     data_xyz.append([x,y,z])

运行结果:

data_xyz

[[1, 2, 400], [1, 0, 500], [1, 1, 430], [0, 2, 550], [0, 0, 600], [0, 1, 420]]

注意:这里将类别数据转换成了数值数据,便于在x、y、z轴绘制出图形。

如何利用Python的pyecharts绘制3d柱形图?

5、初始化图形。

bar3d=Bar3D("1-3月各城市销量","单位:万件",title_pos="center",width=1200,height=800)

如何利用Python的pyecharts绘制3d柱形图?

6、添加数据层,并配置图形参数。

bar3d.add('',x_name,y_name,data_xyz,is_label_show=True,is_visualmap=True, visual_range=[0, 500],grid3d_width=150, grid3d_depth=50)

备注:''表示图表标题为空,x_name、y_name是类别值,data_xyz是处理后的数据,is_label_show=True表示显示数据标签, visual_range调整数据颜色深度,这里超过500的数值颜色更深,grid3d_width、grid3d_depth分别是柱形宽度和高度。

如何利用Python的pyecharts绘制3d柱形图?

7、保存并查看图形。

bar3d.render("sales.html")

利用os.getwd()找到工作空间,打开sales.html即可查看柱形图。

如何利用Python的pyecharts绘制3d柱形图?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
  • 阅读量:121
  • 阅读量:24
  • 阅读量:166
  • 阅读量:192
  • 阅读量:140
  • 猜你喜欢