Matplotlib plt.scatter:从入门到精通,只需一篇文章!🚀
🌵文章目录🌵
- 一、plt.scatter入门:轻松迈出第一步 👣
- 二、进阶探索:plt.scatter的高级用法和技巧🔍
- 三、参考文档📚
- 四、结尾🌳
一、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()
🎉 效果展示
运行上述代码,你将看到如图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()
🎉 效果展示
- 以上代码使用Matplotlib库创建了一个包含六个子图的散点图矩阵。📈📊
- 每个子图展示了不同类型的散点图,包括:
- 单一颜色和固定大小的散点图;
- 不同颜色和固定大小的散点图;
- 单一颜色和不同大小的散点图;
- 不同颜色和不同大小的散点图;
- 使用颜色映射的散点图;
- 使用分组和自定义样式的散点图;
这些散点图基于随机生成的数据绘制,并通过调整颜色、大小和分组等参数来展示scatter
函数的不同功能和用法。最后,代码调整了子图之间的间距,并显示了整个图像。💡🖼️
三、参考文档📚
- Matplotlib官网
- Matplotlib初探:认识数据可视化与Matplotlib
- 数据分析利器对决:Matplotlib中的MATLAB风格与面向对象风格,你选谁?
四、结尾🌳
亲爱的读者,感谢您每一次停留和阅读,这是对我们最大的支持和鼓励!🙏在茫茫网海中,您的关注让我们深感荣幸。您的独到见解和建议,如明灯照亮我们前行的道路。🌟若在阅读中有所收获,一个赞或收藏,对我们意义重大。
我们承诺,会不断自我挑战,为您呈现更精彩的内容。📚有任何疑问或建议,欢迎在评论区畅所欲言,我们时刻倾听。💬让我们携手在知识的海洋中航行,共同成长,共创辉煌!🌱🌳感谢您的厚爱与支持,期待与您共同书写精彩篇章!
您的点赞👍、收藏🌟、评论💬和关注💖,是我们前行的最大动力!