python可视化库matplotlib学习
python可视化库matplotlib学习
第一章 关联图
关联图展示出一个事物随着另一个事物的变化如何变化,典型的类型有:折线图、散点图、相关矩阵等
散点图
1 画一个简单的散点图
#导包
import matplotlib as mlp
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
#定义数据
x1 = np.random.randn(10) #取随机数
x2 = x1+x1**2 -10 #x1与x2的关系
#确定画布,当只有一个图时,不是必须存在
plt.figure(figsize=(8,4)) #8比4的比例
#绘图
plt.scatter(x1,x2#横纵坐标
,s=10#数据点的大小
,c="red"#点的颜色
,label = "Positive"
)
#装饰图形
plt.legend()#显示图例即上面的"Positive"
plt.show()#显示图形

2 画一个稍微复杂的散点图
#加大难度,除了两列x之外,还有标签y的存在
x=np.random.randn(10,2) #随机生成一个10行。2列的数据
y = np.array([0,0,1,1,0,1,0,1,0,1])
plt.figure(figsize=(8,4))
#切片
x[:,0] #取第0列
x[:,1]#取第一列
colors = ["red","black"]
labels = ["Zero","One"]
for i in range(x.shape[1]):
plt.scatter(x[y==i,0],x[y==i,1],
c = colors[i],
label = labels[i],
)
plt.legend()
plt.show()

3 画一个完整的图
#1. 导入数据
midwest = pd.read_csv(r"https://raw.githubusercontent.com/selva86/datasets/master/midwest_filter.csv")
#提取标签中的类别
categories = np.unique(midwest['category'])#去掉所有重复的项
#自动生成颜色plt.cm.tab10()使用matplotlib里面提供的tab10光谱颜色
color1 = plt.cm.tab10(5.2)#返回一个4元组,包含RGBA红、绿、蓝、透明度
plt.figure(figsize=(16,10))
for i in range(len(categories)):
plt.scatter(midwest.loc[midwest["category"]==categories[i],"area"],
midwest.loc[midwest["category"]==categories[i],"poptotal"],
s=20,
c=np.array(plt.cm.tab10(i/len(categories))).reshape(1,-1),
label=categories[i]
)
plt.legend()
plt.show()

浙公网安备 33010602011771号