Python数据可视化之散点图(基础篇---图文并茂详细版!!!)

Posted 温柔且上进c

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python数据可视化之散点图(基础篇---图文并茂详细版!!!)相关的知识,希望对你有一定的参考价值。

介绍

       •数据可视化的应用十分广泛,几乎可以应用于自然科学、工程技术、金融、通信和商业等各种领域。下面我们基于Python,介绍一下第一个常用知识点—散点图

准备工作

所需的库

       •为了使数据可视化我们需要安装下述的库,再进行可视化操作!!
       •numpy:NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库

pip install numpy -i https://pypi.douban.com/simple

       •pandas:Pandas 是 Python 语言的一个扩展程序库,用于数据分析,还是一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算),还可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据

pip install pandas -i https://pypi.douban.com/simple

       •matplotlib:是 Python 2D-绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式

pip install matplotlib -i https://pypi.douban.com/simple

虚拟环境

       •建议在开始操作python可视化之前,创建一个新的虚拟环境,方便管理与操作!!!
       •虚拟环境的作用:我们可以通过创建多个虚拟环境实现环境拆分,每个虚拟环境安装不同版本的库,从而满足不同的需求,各个虚拟环境之间相互独立、不对其它环境产生影响!!!
       •虚拟环境参考博文:python虚拟环境的安装与配置(究极详细易理解版!!!)
       •上述博文博主亲测有效!!!

简单散点图

       •代码需求:绘制一个一元函数的散点图
       •使用matplotlib中的scatter()函数进行绘图!!
代码测试:

# 导入我们所需的库 as:即给库取别名,方便书写
import matplotlib.pyplot as plt
import numpy as np

# 定义数据
x = np.random.rand(10)  # 取出10个随机数
y = x + x ** 2 - 10  # 用自定义关系确定y的值

# 绘图
# 1. 确定画布
plt.figure(figsize=(8, 4))  # figsize:确定画布大小 

# 2. 绘图
plt.scatter(x,  # 横坐标
            y,  # 纵坐标
            c='red',  # 点的颜色
            label='function')  # 标签 即为点代表的意思
# 3.展示图形
plt.legend()  # 显示图例

plt.show()  # 显示所绘图形

图形展示:
在这里插入图片描述

       •如果需要将图片保存到本地需将上述代码中的的plt.show() # 显示所绘图形更换成如下代码:

plt.savefig('需要保存图片的路径地址/图片名.jpg')  # 图片名可自定义(必须写图片名称.jpg)

总结

       •plt.show()不能和plt.savefig()同时使用,即为展示图片和保存图片不能同时使用!!
       •横坐标与纵坐标可以随意取值,但必须要有!!
       •当scatter()函数中有label属性时,必须要有显示图例语句!!即:plt.legend()
       •scatter()函数中还有s属性,为数据点尺寸大小!!

s=50 #数据点尺寸大小

       •横坐标x与纵坐标y的值是一一对应的,一个x对应生成一个y!!

两种不同颜色和图例的散点图

       •代码需求:将十个不同的点分成(0,1)两类,每一类都展示不同的颜色!!!
代码测试:

# 导入我们所需的库 as:即给库取别名,方便书写
import matplotlib.pyplot as plt
import numpy as np

# 生成数据
x = np.random.rand(10, 2)  # 生成10行 2列的数据集
y = np.array([0, 0, 1, 0, 1, 1, 0, 1, 0, 1])  # 二分类,将生成的数据点(x,y)分成0,1两类

# 绘图
# 1.确定画布
plt.figure(figsize=(8, 4))

colors = ['red', 'green']  # 建立颜色列表
labels = ['Zero', 'One']  # 建立标签类别列表

# 2.绘图
for i in range(x.shape[1]):  # shape[] 类别的种类数量(2)
    plt.scatter(x[y == i, 0],  # 横坐标
                x[y == i, 1],  # 纵坐标
                c=colors[i],  # 颜色
                label=labels[i])  # 标签

# 3.展示图形
plt.legend()  # 显示图例

plt.show()  # 显示图片

图片展示:
在这里插入图片描述

总结

       •当使用多种不同颜色来绘图时,需要使用循环在同一画布进行绘制,循环次数为分类的种类数量,即为:x.shape[1] x 分类种类数量 (2) !!
       •循环一次画一个颜色类别的点!!
       •需要分别建立颜色列表,标签类别列表,循环时进行使用!!
       •横,纵坐标使用切片的方式获得!!

以上是关于Python数据可视化之散点图(基础篇---图文并茂详细版!!!)的主要内容,如果未能解决你的问题,请参考以下文章

数据可视化 | 基础图表应用之散点图

R语言数据可视化之散点图

数字的可视化:python画图之散点图sactter函数详解

数字孪生|可视化图表之散点图

Matplotlib基础图形之散点图

Python数据可视化之绘制带有最佳拟合线的散点图(图文并茂版!!!)