散点图

在线刷题

检查 or 强化 Pandas 数据分析操作?👉在线体验「Pandas进阶修炼300题」

Note

本页面代码可以在线编辑、执行

导入与预设

虽然在 pandas 中可以直接调用 matplotliab 进行可视化,但是依旧需要进行相关设置,例如字体、精度等。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['Songti SC']
plt.rcParams['axes.unicode_minus']=False

默认方法

重新生成数据 df4 ,并制作散点图,X轴为 a,Y轴为 b

df4 = pd.DataFrame(np.random.rand(50, 4), columns=["a", "b", "c", "d"])

df4["species"] = pd.Categorical(
    ["setosa"] * 20 + ["versicolor"] * 20 + ["virginica"] * 10
)
df4.plot.scatter(x="a", y="b", figsize=(8, 6))
plt.show()
../../_images/散点图_5_0.png

修改散点大小

在上一题的基础上,让散点的大小随着值变化

df4.plot.scatter(x="a", y="b", figsize=(8, 6), s=df4["c"] * 200)
plt.show()
../../_images/散点图_7_0.png

进一步优化

在上一题的基础上,进行如下设置

  • 散点固定

  • 调低透明度

  • 增加黑色边缘线

df4.plot.scatter(x="a", y="b", figsize=(8, 6), marker='o',
                 s=100, linewidths=1, alpha=0.8, edgecolors='black')
plt.show()
../../_images/散点图_9_0.png

颜色渐变

在上一题的基础上,将散点的颜色设置为渐变色

df4.plot.scatter(x="a", y="b",c="c", figsize=(8, 6), marker='o',
                 s=100, linewidths=1, alpha=0.8, edgecolors='black')

plt.show()
../../_images/散点图_11_0.png

分组绘制

将 ab 分为一组,cd分为一组,制作三散点图

ax = df4.plot.scatter(x="a", y="b", color="DarkBlue", label="Group 1", figsize=(8, 6), marker='o',
                 s=80, linewidths=1, alpha=0.8, edgecolors='black')

df4.plot.scatter(x="c", y="d", color="DarkGreen", label="Group 2", ax=ax, figsize=(8, 6), marker='o',
                 s=80, linewidths=1, alpha=0.8, edgecolors='black');
../../_images/散点图_13_0.png