原博客
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() # 显示图像
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()
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()
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()