【Python数据可视化】通过Python制作 “3D散点图“ 和 “气泡图“

这篇具有很好参考价值的文章主要介绍了【Python数据可视化】通过Python制作 “3D散点图“ 和 “气泡图“。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

一、制作3D散点图

1、3D散点图的特点

2、导入数据

3.数据筛选

 4.生成3D散点图

 二、制作气泡图

1.气泡图的特点

2.导入数据

 3.数据筛选

 4.生成气泡图

总结


前言

在对数据进行分析的时候,经常需要将数据进行可视化,以方便我们对数据的认识和理解,所以接下来是对"3D散点图" 和 "气泡图"进行讲解。


一、制作3D散点图

1、3D散点图的特点

3D散点图就是使复杂的数据让人简单易懂,通过3个序列的数据来绘制,描述3个序列数据之间的关系。

2、导入数据

把需要制作成3D散点图的数据导入到python的pandas库中

import pandas as pd
data = pd.read_excel(r'气泡图作业数据-商品销量(2).xlsx')
data

运行结果python绘制三维散点图,python,大数据

3.数据筛选

 把导入的 气泡图作业数据-商品销量(2).xlsx 数据进行筛选

data_select = data.loc[:100,['牛奶','面包','辣条']]
x = data_select['牛奶'].tolist()
y = data_select['面包'].tolist()
z = data_select['辣条'].tolist()
[[i,j,k] for i,j,k in zip(x,y,z)]

 运行结果

python绘制三维散点图,python,大数据

 4.生成3D散点图

运行代码

import pyecharts.options as opts
from pyecharts.charts import Scatter3D  # 将制作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()

 运行结果 生成3D散点图

牛奶、面包、辣条的销量数据3D散点图:

python绘制三维散点图,python,大数据

除此之外,我们还可以通过更改range_color 部分的代码中的颜色,以达到更美观的效果。

其他部分可以参考下方的社区链接进行修改

社区链接:https://gallery.pyecharts.org/#/Scatter3D/scatter3d

 二、制作气泡图

1.气泡图的特点

气泡图的数据结构和3D散点图一致,在散点图的基础上再加了一个维度的数据,用来描述点的大小。还可以查看死三个维度的数据(气泡的大小)和x轴、y轴数据的关系。

2.导入数据

把经过剔除的数据导入

import pandas as pd
data = pd.read_excel(r'航空公司数据-剔除空年龄.xlsx')
data

运行结果

python绘制三维散点图,python,大数据

 3.数据筛选

将导入的 航空公司数据-剔除空年龄.xlsx 数据 进行筛选

data_select = data.loc[:100,['年龄','飞行次数','最大乘机时间间隔']]
data_select.isnull().sum()

运行结果

python绘制三维散点图,python,大数据

 4.生成气泡图

1.定义x y z

用x y z 分别对 '飞行次数' 、'最大成绩时间间隔'、'年龄' 进行定义

x = data_select['飞行次数'].tolist()
y = data_select['最大乘机时间间隔'].tolist()
z = data_select['年龄'].tolist()

2.运行代码

气泡图的语法重点在于把画气泡图看作是在同一个坐标系中画很多个大小不一的散点图。            所以从代码结构上看,气泡图实际上需要重复很多个add_xaxis和add_yaxis的步骤,并且每一次画图时的symbol_size是不同的。

import pyecharts.options as opts
from pyecharts.charts import Scatter   #导入相关库

# color_dict={4:'#ffcc00',5:'#ff7f00',6:'#ff0000'}
color_range = ['#ffcc00','#ff7f00','#ff0000']
c = (
    Scatter(init_opts=opts.InitOpts(width="800px", height="400px"))
    .set_global_opts(
        xaxis_opts=opts.AxisOpts(
            type_="value", 
            splitline_opts=opts.SplitLineOpts(is_show=True),
            name = '飞行次数', # 坐标轴名称
            name_location = 'center',
            name_gap = 30
        ),
        yaxis_opts=opts.AxisOpts(
            type_="value",
            splitline_opts=opts.SplitLineOpts(is_show=True),
            name = '最大乘机时间间隔',
            name_location = 'center',
            name_gap = 30
        ),
        legend_opts = opts.LegendOpts(pos_top='5%'), # 图示位置
    )
)
for i,j,q in zip(x,y,z):
    c.add_xaxis(xaxis_data = [i]) 
    c.add_yaxis(
        series_name='气泡大小:年龄', # 巧用序列名称和图示来提示气泡大小的含义
        y_axis = [j],
        symbol_size = q//3, # 根据年龄数据定义合适的气泡大小
        color = '#ff8080'
    )
c.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
c.render_notebook()

运行结果 生成气泡图

用户年龄气泡图:

python绘制三维散点图,python,大数据

总结

今天分享为以上的全部内容,让更多的人了解如何用可视化制作图形,希望能都帮助到大家。文章来源地址https://www.toymoban.com/news/detail-729621.html

到了这里,关于【Python数据可视化】通过Python制作 “3D散点图“ 和 “气泡图“的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包