【plt.scatter绘制散点图】:从入门到精通,只需一篇文章!【Matplotlib】!🚀

【plt.scatter绘制散点图】:从入门到精通,只需一篇文章!【Matplotlib】-LMLPHP



一、plt.scatter入门:轻松迈出第一步 👣

🎈 欢迎来到Matplotlib的plt.scatter世界!这是一个强大而灵活的工具,用于创建散点图,帮助你直观地理解和分析数据。在这里,我们将从基础开始,逐步掌握如何使用plt.scatter来创建散点图。

📌 首先,确保你已经安装了Matplotlib库。如果没有安装,可以使用以下命令进行安装:

pip install matplotlib

📚 接下来,让我们导入必要的库并创建一个简单的散点图。

import matplotlib.pyplot as plt
import numpy as np

# 创建一些随机数据
x = np.random.rand(50)
y = np.random.rand(50)


# 设置全局字体为支持中文的字体
plt.rcParams['font.sans-serif'] = ['SimHei']

# 使用plt.scatter创建散点图
plt.scatter(x, y)

# 添加标题和坐标轴标签
plt.title('简单的散点图')
plt.xlabel('X轴')
plt.ylabel('Y轴')

# 显示图形
plt.show()

🎉 效果展示

【plt.scatter绘制散点图】:从入门到精通,只需一篇文章!【Matplotlib】-LMLPHP

运行上述代码,你将看到如图1所示的散点图,其中包含50个随机分布的点。🎉

二、进阶探索:plt.scatter的高级用法和技巧🔍

🌈 散点图是一种非常直观的数据可视化方式,可以展示两个变量之间的关系。通过调整散点图的颜色、大小、形状等属性,我们可以进一步强调数据的某些特征,使故事更加生动。

💡 下面是一个自定义散点颜色和大小的散点图示例:

import matplotlib.pyplot as plt
import numpy as np


# 设置全局字体为支持中文的字体
plt.rcParams['font.sans-serif'] = ['SimHei']
# 解决保存图像是负号'-'显示为方块的问题
plt.rcParams['axes.unicode_minus'] = False


# 创建一个2x3的子图网格
fig, axs = plt.subplots(2, 3, figsize=(15, 10))  # figsize设置图形大小

# 示例1: 单一颜色和固定大小的散点图
x1 = np.random.rand(50)
y1 = np.random.rand(50)
axs[0, 0].scatter(x1, y1, color='red', s=50)
axs[0, 0].set_title('单一颜色和固定大小的散点图')
axs[0, 0].set_xlabel('X轴')
axs[0, 0].set_ylabel('Y轴')

# 示例2: 不同颜色和固定大小的散点图
x2 = np.random.rand(50)
y2 = np.random.rand(50)
colors2 = np.random.rand(50)
axs[0, 1].scatter(x2, y2, c=colors2, s=50)
axs[0, 1].set_title('不同颜色和固定大小的散点图')
axs[0, 1].set_xlabel('X轴')
axs[0, 1].set_ylabel('Y轴')

# 示例3: 单一颜色和不同大小的散点图
x3 = np.random.rand(50)
y3 = np.random.rand(50)
sizes3 = np.random.randint(10, 100, 50)
axs[0, 2].scatter(x3, y3, color='blue', s=sizes3)
axs[0, 2].set_title('单一颜色和不同大小的散点图')
axs[0, 2].set_xlabel('X轴')
axs[0, 2].set_ylabel('Y轴')

# 示例4: 不同颜色和不同大小的散点图
x4 = np.random.rand(50)
y4 = np.random.rand(50)
colors4 = np.random.rand(50)
sizes4 = np.random.randint(10, 100, 50)
axs[1, 0].scatter(x4, y4, c=colors4, s=sizes4)
axs[1, 0].set_title('不同颜色和不同大小的散点图')
axs[1, 0].set_xlabel('X轴')
axs[1, 0].set_ylabel('Y轴')

# 示例5: 使用颜色映射的散点图
x5 = np.random.rand(50)
y5 = np.random.rand(50)
z5 = np.random.rand(50)
axs[1, 1].scatter(x5, y5, c=z5, cmap='viridis')
axs[1, 1].set_title('使用颜色映射的散点图')
axs[1, 1].set_xlabel('X轴')
axs[1, 1].set_ylabel('Y轴')


# 示例6: 使用分组和自定义样式的散点图
x6 = np.random.rand(100)
y6 = np.random.rand(100)
groups6 = np.random.choice(['A', 'B'], size=100)
colors6 = {'A': 'red', 'B': 'blue'}
sizes6 = {'A': 50, 'B': 100}

for group, color, size in zip(groups6, colors6.values(), sizes6.values()):
    axs[1, 2].scatter(x6[groups6 == group], y6[groups6 == group], color=color, label=group, s=size)
axs[1, 2].set_title('分组和自定义样式的散点图')
axs[1, 2].set_xlabel('X轴')
axs[1, 2].set_ylabel('Y轴')
axs[1, 2].legend()  # 添加图例

# 调整子图之间的间距
plt.subplots_adjust(wspace=0.4, hspace=0.4)

# 显示图形
plt.show()

🎉 效果展示

【plt.scatter绘制散点图】:从入门到精通,只需一篇文章!【Matplotlib】-LMLPHP

  • 以上代码使用Matplotlib库创建了一个包含六个子图的散点图矩阵。📈📊
  • 每个子图展示了不同类型的散点图,包括:
    • 单一颜色和固定大小的散点图;
    • 不同颜色和固定大小的散点图;
    • 单一颜色和不同大小的散点图;
    • 不同颜色和不同大小的散点图;
    • 使用颜色映射的散点图;
    • 使用分组和自定义样式的散点图;

  这些散点图基于随机生成的数据绘制,并通过调整颜色、大小和分组等参数来展示scatter函数的不同功能和用法。最后,代码调整了子图之间的间距,并显示了整个图像。💡🖼️

三、参考文档📚

  1. Matplotlib官网
  2. Matplotlib初探:认识数据可视化与Matplotlib
  3. 数据分析利器对决:Matplotlib中的MATLAB风格与面向对象风格,你选谁?

四、结尾🌳

  亲爱的读者,感谢您每一次停留和阅读,这是对我们最大的支持和鼓励!🙏在茫茫网海中,您的关注让我们深感荣幸。您的独到见解和建议,如明灯照亮我们前行的道路。🌟若在阅读中有所收获,一个赞或收藏,对我们意义重大。

  我们承诺,会不断自我挑战,为您呈现更精彩的内容。📚有任何疑问或建议,欢迎在评论区畅所欲言,我们时刻倾听。💬让我们携手在知识的海洋中航行,共同成长,共创辉煌!🌱🌳感谢您的厚爱与支持,期待与您共同书写精彩篇章!

  您的点赞👍、收藏🌟、评论💬和关注💖,是我们前行的最大动力!

02-18 04:59