- 散点图是指在回归分析中,数据点在直角坐标系平面上的分布图,显示两组数据的值,每个点的坐标位置由变量的值决定
- 两组数据构成多个坐标点,判断两变量之间是否存在某种关联或总结坐标点的分布模式;
- 适用场景:大量数据点、看数值分布和分簇状态等。
散点图通常用于显示和比较数值,如科学数据、统计数据和工程数据。
- 提前准备鸢尾花数据集
- 散点图一行代码显示
import matplotlib.pyplot as plt
import pandas as pd
# 读取数据
df = pd.read_csv('iris.csv')
# 平面坐标系的位置只能表示2维数据
x = df['Sepal.Length']
y = df['Sepal.Width']
# 根据X,Y值画散点图
plt.scatter(x, y)
plt.show()
运行效果
加颜色的散点图
# 读取数据
df = pd.read_csv('iris.csv')
# 平面坐标系的位置只能表示2维数据
x = df['Sepal.Length']
y = df['Sepal.Width']
# 根据X,Y值画散点图
c = df['Species'].map({'setosa':'r','versicolor':'g','virginica':'b'})
plt.scatter(x, y,c=c)
plt.show()
运行效果
颜色深浅表示数值大小
df = pd.read_csv('iris.csv')
# 平面坐标系的位置只能表示2维数据
x = df['Sepal.Length']
y = df['Sepal.Width']
c = df['Petal.Length']
# 根据X,Y值画散点图, 用颜色的深浅表示花萼的长度
plt.scatter(x, y, c=c, cmap=plt.cm.RdYlBu)
plt.show()
运行效果
散点图显示颜色和大小
# 读取数据
df = pd.read_csv('iris.csv')
# 平面坐标系的位置只能表示2维数据
x = df['Sepal.Length'] # x 轴坐标
y = df['Sepal.Width'] # y 轴坐标
c = df['Petal.Length'] # 颜色color
s = df['Petal.Width'] # 大小size
# 根据X,Y值画散点图, 用颜色的深浅表示花萼的长度,用大小表示花萼的宽度
plt.figure(figsize=(5, 5), dpi=100)
# plt.scatter(x,y, c=c, s=50) # 可以是标量,那么所有的点都一样
plt.scatter(x, y, c=c, s=s * 30)
plt.show()
运行效果
散点图万能模板
# 读取数据
df = pd.read_csv('iris.csv')
def get_xycs(df):
# 平面坐标系的位置只能表示2维数据
x = df['Sepal.Length'] # x 轴坐标
y = df['Sepal.Width'] # y 轴坐标
c = df['Petal.Length'] # 颜色color
s = df['Petal.Width'] # 大小size
return x, y, c, s
markers = {'setosa': 'o', 'versicolor': 'D', 'virginica': '*'}
# 根据X,Y值画散点图, 用颜色的深浅表示花萼的长度,用大小表示花萼的宽度, 每组数据只能是一种点样式
plt.figure(figsize=(5, 5), dpi=100)
# plt.scatter(x,y, c=c, s=50) # 可以是标量,那么所有的点都一样
for sp in df['Species'].unique():
x, y, c, s = get_xycs(df[df['Species'] == sp])
plt.scatter(x, y, s=s * 30, cmap=plt.cm.seismic, marker=markers[sp], label=sp)
plt.legend()
plt.show()
运行效果
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)