Python可视化-1 散点图

217 阅读1分钟

原博客

www.machinelearningplus.com/plots/top-5…

1 散点图

1.1 绘制简单的散点图

绘制x为0-9的整数,y = 2x 的散点图

import numpy as np 
import matplotlib as mpl
import matplotlib.pyplot as plt
x = np.arange(10)
y = 2*x

plt.figure(figsize = (8,5)) # plt.figure(): 创建画布; figsize: 决定画布的大小的参数
plt.scatter(x,y) # 传入横坐标和纵坐标
plt.show() # 显示图像

scatter01.png

1.2 让不同类别的点显示不同的颜色

cla = np.array([0,1,1,1,1,1,1,1,1,1])
plt.figure(figsize = (8,5))
plt.scatter(x,y,c=cla) # c :决定颜色的参数,可以传入一个列表,列表代表分类
plt.show()

02.png

1.3 添加图例

y = 2*x.reshape(-1,1)
z = np.concatenate([x,y],axis=1)

labels = ['cla_0','cla_1']
cla = np.array([0,1,1,1,1,1,1,1,1,1])
colors = ['green','red']
plt.figure(figsize = (8,5))
for i in range(2): # 有几类循环几次
    plt.scatter(z[cla==i,0],z[cla==i,1],c=colors[i],label=labels[i]) #先画 0类,添加图例;再画 1类,添加图例
plt.legend() #显示图例
plt.show()

03.png

2 绘制 area 和 poptatal 的散点图

import pandas as pd
df = pd.read_csv('C:/Users/scent/Desktop/data.txt')

categories = df.category.unique()  #创建类别的列表
colors = [i/len(categories) for i in range(len(categories))]  #创建颜色列表,不同的类别用不同的颜色表示

plt.figure(figsize = (15,12))
for i in range(len(categories)):
    plt.scatter(df[df.category==categories[i]].area
               ,df[df.category==categories[i]].poptotal
               ,c = np.array(plt.cm.tab10(colors[i])).reshape(1,-1)
               ,label = categories[i])
plt.legend()
plt.show()

04.png