Python matplotlib绘制散点图之基本配置--鸢尾花案例

Python matplotlib绘制散点图之基本配置--鸢尾花案例,第1张

散点图的概念
  1. 散点图是指在回归分析中,数据点在直角坐标系平面上的分布图,显示两组数据的值,每个点的坐标位置由变量的值决定
  2. 两组数据构成多个坐标点,判断两变量之间是否存在某种关联或总结坐标点的分布模式;
  3. 适用场景:大量数据点、看数值分布和分簇状态等。

    散点图通常用于显示和比较数值,如科学数据、统计数据和工程数据。

散点图简单应用
  1. 提前准备鸢尾花数据集
  2. 散点图一行代码显示
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()

运行效果

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/662395.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-18
下一篇 2022-04-18

发表评论

登录后才能评论

评论列表(0条)

保存