pyplot Scatter Plot Marker Size
In the matplotlib.pyplot.scatter() function, the s parameter specifies the marker size. This size is defined in "points^2," which can be a confusing unit of measurement to interpret.
What is a "Point"?
A "point" in this context is an arbitrary unit of measurement used for defining the size of markers. It is not directly related to the size of a pixel on your display.
How Does s Affect Marker Size?
The s parameter specifies the area of the marker. This means that:
Example
Let's create a scatter plot with different marker sizes:
import matplotlib.pyplot as plt x = [0, 2, 4, 6, 8, 10] y = [0] * len(x) s = [20 * 4**n for n in range(len(x))] plt.scatter(x, y, s=s) plt.show()
In this example, the marker size increases exponentially as we move from left to right. Each marker has twice the area of the previous marker.
Visualizing Marker Size
To visualize the different functions that affect marker size, let's create the following plot:
import matplotlib.pyplot as plt x = [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] s_exp = [20 * 2**n for n in range(len(x))] s_square = [20 * n**2 for n in range(len(x))] s_linear = [20 * n for n in range(len(x))] plt.scatter(x, [1] * len(x), s=s_exp, label='$s=2^n$', lw=1) plt.scatter(x, [0] * len(x), s=s_square, label='$s=n^2$') plt.scatter(x, [-1] * len(x), s=s_linear, label='$s=n$') plt.ylim(-1.5, 1.5) plt.legend(loc='center left', bbox_to_anchor=(1.1, 0.5), labelspacing=3) plt.show()
This plot demonstrates how the marker size appears when scaled exponentially, quadratically, and linearly.
The above is the detailed content of How Does Matplotlib\'s `pyplot.scatter()` Function Use the `s` Parameter to Control Marker Size?. For more information, please follow other related articles on the PHP Chinese website!