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()

 

posted on 2021-03-26 22:50  mendey  阅读(127)  评论(0)    收藏  举报