基于pyecharts制作出普通3D散点图【数据可视化练习】

目录

一、关于pyecharts的基本理论

二、先前准备

1.关于pyecharts包下载

2.关于Visual Studio Code的准备

3.关于 jupyter notebook的准备

三、整体代码展示

1.导入包

2.导入需要的数据

3.对数据进行简单处理

4.编写3d散点图模型代码

5.结果展示

四、总结:


前言:文章内容通过使用Python,调用pandaspyecharts.charts中的Scatter3D,以及前期对数据进行简单的处理,从而制作出一份直观的3D散点图。文章开头说明pyecharts的基本理论理解,以及一些代码先前准备,而后展示制作3D散点图代码详细过程,最后对于这份数据可视化练习进行总结。


一、关于pyecharts的基本理论

Echarts是一个由百度开源的基于js语言的数据可视化框架,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。

由于python在数据分析领域的活跃,一个开发团队将echarts库移植到python中,命名为“pyecharts”。

相较于matplotlib而言,pyecharts库绘制的图形种类更多,样式更精美、丰富。

官网有Pyecharts的使用文档,社区包含各种图形的项目案例代码和演示。

官网:https://pyecharts.org/#/zh-cn/intro

pyecharts 本质上在做的事情就是将 Echarts 的配置项由 Python dict 序列化为 JSON 格式,所以 pyecharts 支持什么格式的数据类型取决于 JSON 支持什么数据类型。这也就意味着在你将数据传入到 pyecharts 的时候,需要自行将数据格式转换成上述 Python 原生的数据格式。


二、先前准备

一般用于练习制作3D散点图而言,我个人最经常使用Visual Studio Code 和 jupyter notebook,所以后面将会分为两个编辑器所要注意的方面说明。

1.关于pyecharts包下载

win+r输入cmd进入管理员界面

pip install pyecharts

如出现无法下载的包过多,请先进行升级pip

直接在下面一行输入:

python -m pip install --upgrade pip

然后返回第一步重新现在即可。

2.关于Visual Studio Code的准备

尽量使用base编辑器,不然会导致出现有些包无法使用或者没安装全。

3.关于 jupyter notebook的准备

使用Anaconda Prompt输入jupyter notebook进入编辑器。

因为本身是于Anaconda环境里,jupyter的环境都已经配置好了,pyecharts包下载好即可开始编辑代码。


三、整体代码展示

1.导入包

import pandas as pd
from pyecharts.charts import Scatter3D #用于制作3d散点图

2.导入需要的数据

df = pd.read_excel('../数据集/航空公司数据.xlsx')#注意文件名的后缀(.xlsx对应read_excel,另外还有一种常见的.csv对应的是read_csv)
df.head()//查看开头前五行

3.对数据进行简单处理

df.dropna(subset=['年龄'],inplace=True)

定义x,y,z轴分别代表的列

df_select = df.loc[:100,['年龄','飞行次数','最大乘机时间间隔']]
x = df_select['飞行次数'].tolist()
y = df_select['最大乘机时间间隔'].tolist()
z = df_select['年龄'].tolist()

进行包装

[[i,j,k] for i,j,k in zip(x,y,z)]

上面得到的结果:

4.编写3d散点图模型代码

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=[#图内小球具体颜色
                    "#1710c0",
                    "#0b9df0",
                    "#00fea8",
                    "#00ff0d",
                    "#f5f811",
                    "#f09a09",
                    "#fe0300",
                ],
        ),
    )
)
c.render_notebook()

5.结果展示


四、总结:

Pycharts是一个很适用于练习数据可视化的框架,于免费且简单易懂而且图面简洁更适合上手练习。但pyecharts 本质上在做的事情就是将 Echarts 的配置项由 Python dict 序列化为 JSON 格式,所以 pyecharts 支持什么格式的数据类型取决于 JSON 支持什么数据类型。这也就意味着在你将数据传入到 pyecharts 的时候,需要自行将数据格式转换成上述 Python 原生的数据格式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值