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数据可视化之散点图(基础篇---图文并茂详细版!!!)的主要内容,如果未能解决你的问题,请参考以下文章