【Python数据可视化】简单使用python制作“三维柱形图”、“三维散点图”以及“玫瑰图” |
您所在的位置:网站首页 › 建立圆柱形图表 › 【Python数据可视化】简单使用python制作“三维柱形图”、“三维散点图”以及“玫瑰图” |
目录 一、前言 二、什么是3D? (1)空间---- (2)色彩---- 三、怎么进行绘图的制作?方法?步骤? 一、3D柱形图 二、3D散点图 三、玫瑰图 四、总结 --------------------------------------------------------------------------------------------------------------------------------- 一、前言本文将用python数据可视化进行3D图形的制作,包括其中的细节、过程将会一一的给大家展现出来,本人是编程小白,正文里面可能会出现些许讲不清楚的地方,还请大家多多理解,有什么问题欢迎大家在评论区里指正哦 二、什么是3D?基础概念------3d是three-dimensional的缩写,也就是三维图形。在计算机里显示3d图形,就是说在平面里显示三维图形,而3D的突出特点主要在两个方面 (1)空间----不像现实世界里的,真实的三维空间,有真实的距离空间。计算机里只是看起来很像真实世界,因此在计算机显示的3d图形,就是让人眼看上就像真的一样。人眼有一个特性就是近大远小,就会形成立体感。计算机屏幕是平面二维的,我们之所以能欣赏到真如实物般的三维图像,是因为显示在计算机屏幕上时色彩灰度的不同而使人眼产生视觉上的错觉,而将二维的计算机屏幕感知为三维图像。 (2)色彩----基于色彩学的有关知识,三维物体边缘的凸出部分一般显高亮度色,而凹下去的部分由于受光线的遮挡而显暗色。这一认识被广泛应用于网页或其他应用中对按钮、3d线条的绘制。 三、怎么进行绘图的制作?方法?步骤?让我们一起来进入今天的学习。。。。。 一、3D柱形图(1)导入相关库 (2)导入并读取数据 (3)分组聚合,提取相关数据 (4)手动创建list表 (5)制作三维(3D)柱形图 --------------------------------------------------------------------------------------------------------------------------------- 二、3D散点图(1)导入相关库 (2)导入并读取数据 (3)剔除缺失值 (4)数据筛选 (5)数据迭形成列表数据 (6)制作三维(3D)散点图 --------------------------------------------------------------------------------------------------------------------------------- 三、玫瑰图(1)导入相关库 (2)导入并读取数据 (3)构造年龄段序列 (4)统计各年龄段的人数 (5)对数据类型进行改造 (6)制作三维(3D)玫瑰图 --------------------------------------------------------------------------------------------------------------------------------- 四、总结在某些程度上做的还不太好,还是得继续努力哦! 注:如果出现以下 则是表明没有安装这个“pyecharts”库,此时需要打开cmd或者anaconda终端安装此库! 如果要安装其他库也是可以采用此方法哦! 方法:通过清华大学镜像进行安装(国内镜像下载较快):pip install xx(库名) -i https://pypi.tuna.tsinghua.edu.cn/simple --------------------------------------------------------------------------------------------------------------------------------- 一、3D柱形图 (1)导入相关库 import pyecharts.options as opts from pyecharts.charts import Bar3D (2)导入并读取数据 import pandas as pd data = pd.read_excel('E:\lcz(可视化课程)\航空公司数据.xlsx') data (3)分组聚合,提取相关字段,形成新的表格数据 gender_level_count = data.groupby(by=['会员卡级别','性别'])['会员卡号'].count() gender_level_count (4)手动创建list表 gender = ['男','女'] level = [4,5,6] # 手动创建list list = [] for i in range(len(level)): for j in range(len(gender)): list.append([i,j,int(gender_level_count[level[i],gender[j]])]) # 第三维度的数据需要int类型 list (5)制作三维(3D)柱形图 c = ( Bar3D(init_opts=opts.InitOpts(width="400px", height="600px")) .add( series_name="", # 此参数必须有 data = list, # 必须接收一个二维list,且元素列表的前两位数字为柱体在3d坐标系中位置的索引 xaxis3d_opts=opts.Axis3DOpts(type_="category", data=level, name='会员卡等级'), yaxis3d_opts=opts.Axis3DOpts(type_="category", data=gender, name='性别'), zaxis3d_opts=opts.Axis3DOpts(type_="value", name = '人数'), ) .set_series_opts(label_opts=opts.LabelOpts(is_show=True)) # 显示数据标签 .set_global_opts( visualmap_opts=opts.VisualMapOpts( max_ = 1000, # 设置色阶的最大值 range_color=["#FF4040", "#FF82AB", "#F08080", "#EEC591", "#DDA0DD", "#DCDCDC"] #色阶数据 ) ) ) c.render_notebook()最终结果图如下: --------------------------------------------------------------------------------------------------------------------------------- 二、3D散点图 (1)导入相关库 import pandas as pd (2)导入并读取数据 data = pd.read_excel(r'气泡图数据.xlsx') data (3)剔除缺失值 data.dropna(subset=['日期'],inplace=True) (4)数据筛选 data_select = data.loc[:100,['牛奶','面包','辣条']] x = data_select['面包'].tolist() y = data_select['辣条'].tolist() z = data_select['牛奶'].tolist() z (5)使用for与zip语句联合使用,对多个数据进行迭代形成新的列表数据 [[i,j,k] for i,j,k in zip(x,y,z)] (6)制作三维(3D)散点图 import pyecharts.options as opts from pyecharts.charts import Scatter3D c = ( Scatter3D() .add( '', data = [[i,j,k] for i,j,k in zip(x,y,z)], # 数据:二维数组 xaxis3d_opts=opts.Axis3DOpts( # x轴配置 name='面包', type_="value", ), yaxis3d_opts=opts.Axis3DOpts( # y轴配置 name='辣条', type_="value", ), zaxis3d_opts=opts.Axis3DOpts( # z轴配置 name='牛奶', type_="value", ), ) .set_global_opts( visualmap_opts=opts.VisualMapOpts( max_= max(z), range_color=[ "#66ffcc", "#66fff", "#00fea8", "#6699cc", "#996699", "#f09a09", "#993366", ], ), ) ) c.render_notebook()最终的运行结果如下: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |