如何在 Matplotlib 中调整标记大小
参考:How to Adjust Marker Size in Matplotlib
在数据可视化中,使用图表是展示数据趋势和分布的有效方式。Matplotlib 是 Python 中一个广泛使用的绘图库,它提供了丰富的接口来创建高质量的图形。在绘制散点图或线图时,经常需要调整标记(marker)的大小,以更好地反映数据的某些特性或提高图表的可读性。本文将详细介绍如何在 Matplotlib 中调整标记大小,并通过多个示例展示不同的应用场景。
基本概念
在 Matplotlib 中,marker
指的是在图表中代表数据点的符号,如圆形、方形、星形等。size
则是这些标记的大小。调整标记大小可以帮助观众更好地区分不同的数据点或数据集。
导入 Matplotlib
在开始绘图之前,首先需要导入 Matplotlib 库。通常,我们使用 pyplot
模块,它提供了一个类似于 MATLAB 的绘图框架。
import matplotlib.pyplot as plt
示例代码 1:基础散点图
下面的代码展示了如何创建一个基础的散点图,并调整标记的大小。
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
sizes = [20, 50, 80, 200, 500]
plt.scatter(x, y, s=sizes)
plt.title("Basic Scatter Plot - how2matplotlib.com")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.show()
Output:
示例代码 2:动态调整标记大小
我们可以根据数据点的某个属性动态调整标记的大小。例如,假设每个点的大小与其 y 值成正比。
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
sizes = [i * 20 for i in y]
plt.scatter(x, y, s=sizes)
plt.title("Dynamic Marker Size - how2matplotlib.com")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.show()
Output:
示例代码 3:使用颜色和大小编码
在散点图中,我们可以同时使用颜色和大小来编码两个不同的数据属性。
import matplotlib.pyplot as plt
import numpy as np
x = np.random.rand(50)
y = np.random.rand(50)
colors = np.random.rand(50)
sizes = np.random.rand(50) * 100
plt.scatter(x, y, s=sizes, c=colors, alpha=0.5)
plt.title("Color and Size Encoding - how2matplotlib.com")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.show()
Output: