matplotlib plot marker size

matplotlib plot marker size

参考:matplotlib plot marker size

matplotlib 中,我们可以通过设置 plot 函数中的 marker 参数来控制图中数据点的形状和大小。其中,marker 参数有许多可选值,如’o’、’^’、’s’等,而 marker size 则可以通过 markersize 参数来控制。

下面我们将详细介绍如何在 matplotlib 中设置 plot 数据点的 marker size。

1. 设置标记大小

首先,让我们看一个简单的示例,来展示如何设置 plot 数据点的 marker size。

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.show()

Output:

matplotlib plot marker size

在上面的示例中,我们使用 scatter 函数绘制了一组数据点,并通过设置 s 参数来指定每个数据点的 size。可以看到,数据点的大小根据 sizes 列表中的值不同而不同。

2. 设置单一标记大小

除了设置一组数据点的不同大小外,我们还可以为所有数据点设置固定大小。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.plot(x, y, marker='o', markersize=10)

plt.show()

Output:

matplotlib plot marker size

在上面的示例中,我们使用 plot 函数绘制了一条折线,并通过设置 markersize 参数为 10 来指定所有数据点的大小。

3. 设置不同标记大小

有时候,我们希望在一个 plot 图中使用不同大小的标记来表示不同的数据。下面是一个示例:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
sizes = [20, 50, 80, 100, 200]

plt.plot(x[:3], y[:3], marker='o', markersize=sizes[0])
plt.plot(x[3:], y[3:], marker='o', markersize=sizes[3])

plt.show()

Output:

matplotlib plot marker size

在上面的示例中,我们分别为前三个数据点和后两个数据点设置了不同的标记大小。可以看到,这样做可以让不同的数据在图中更易于区分。

4. 控制标记大小范围

有时候,我们希望根据数据的某个属性来动态调整数据点的大小。这可以通过设置 markersize 参数为一个数组来实现。下面是一个示例:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 50)
y = np.sin(x)

sizes = np.abs(y) * 100

plt.scatter(x, y, s=sizes)

plt.show()

Output:

matplotlib plot marker size

在上面的示例中,我们根据 y 值的绝对值大小来动态设置数据点的大小,使得数据点在图中的大小根据 y 值的变化而变化。

5. 控制标记大小比例

在某些情况下,我们希望设置数据点的大小比例,使得数据点在不同的大小之间呈现出固定的比例关系。可以通过设置 markersize 参数为一个小数来实现。下面是一个示例:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
sizes = [0.1, 0.3, 0.5, 0.7, 1.0]

plt.scatter(x, y, s=sizes, alpha=0.5)

plt.show()

Output:

matplotlib plot marker size

在上面的示例中,我们设置了不同的 markersize 比例,使得数据点的大小在图中呈现出固定的比例关系。

6. 自定义标记大小

除了使用内置的 markersize 参数外,我们还可以通过其他方式来自定义数据点的大小。下面是一个示例:

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, marker='o', facecolors='none', edgecolors='r', linewidths=2)

plt.show()

Output:

matplotlib plot marker size

在上面的示例中,我们自定义了数据点的大小、填充颜色、边缘颜色和边缘宽度,在图中呈现出不同的效果。

7. 设置标记透明度

除了设置标记的大小外,我们还可以通过设置 alpha 参数来控制数据点的透明度。下面是一个示例:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
sizes = [20, 50, 80, 100, 200]

plt.scatter(x, y, s=sizes, alpha=0.5)

plt.show()

Output:

matplotlib plot marker size

在上面的示例中,我们设置了数据点的透明度为 0.5,使得数据点在图中呈现出一定的透明效果。

8. 设置标记样式

除了设置标记的大小和透明度外,我们还可以通过设置 marker 参数来控制数据点的形状。下面是一个示例:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
sizes = [20, 50, 80, 100, 200]

plt.scatter(x, y, s=sizes, marker='s')

plt.show()

Output:

matplotlib plot marker size

在上面的示例中,我们将数据点的形状设置为正方形,并根据 sizes 列表中的值设置数据点的大小。

9. 设置标记边界样式

有时候,我们希望自定义数据点的边界样式,可以通过设置 edgecolor 和 linewidth 参数来实现。下面是一个示例:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
sizes = [20, 50, 80, 100, 200]

plt.scatter(x, y, s=sizes, edgecolor='r', linewidth=2)

plt.show()

Output:

matplotlib plot marker size

在上面的示例中,我们将数据点的边界颜色设置为红色,边界宽度设置为2,使得数据点在图中呈现出不同的效果。

10. 设置标记填充样式

最后,除了设置标记的大小、形状、透明度和边界样式外,我们还可以设置标记的填充样式。下面是一个示例:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
sizes = [20, 50, 80, 100, 200]

plt.scatter(x, y, s=sizes, marker='o', facecolors='none')

plt.show()

Output:

matplotlib plot marker size

在上面的示例中,我们将数据点的填充颜色设置为透明,使得数据点在图中呈现出不同的填充效果。

结论

通过本文介绍,我们学习了如何在 matplotlib 中设置 plot 数据点的 marker size,包括设置单一标记大小、不同标记大小、控制标记大小范围、控制标记大小比例、自定义标记大小、设置标记透明度、设置标记样式、设置标记边界样式和设置标记填充样式等。这些技巧可以帮助我们更好地展示数据,并使得图表更加直观和易于理解。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程