Matplotlib 的 pyplot.scatter() 函式如何使用 s 參數來控制標記大小?

Linda Hamilton
發布: 2024-11-25 15:38:12
原創
254 人瀏覽過

How Does Matplotlib's `pyplot.scatter()` Function Use the `s` Parameter to Control Marker Size?

pyplot 散佈圖標記大小

在 matplotlib.pyplot.scatter() 函數中,s 參數指定標記大小。此大小以“點^2”定義,這可能是一個令人困惑的測量單位。

什麼是「點」?

「點」在本文中,「」是用來定義標記大小的任意測量單位。它與顯示器上像素的大小沒有直接關係。

s 如何影響標記大小?

s 參數指定標記的區域。這意味著:

  • 將 s 增加 4 倍,標記的寬度和高度也會增加 2 倍。
  • 將標記(或任何線性)的寬度加倍尺寸)需要將 s 增加 4 倍。
  • 將標記面積加倍需要將 s 增加 4倍2.

範例

讓我們建立一個不同標記大小的散佈圖:

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()
登入後複製

在此範例中,標記大小當我們從左向右移動時,它呈指數級增長。每個標記的面積是前一個標記的面積的兩倍。

可視化標記大小

為了可視化影響標記大小的不同函數,讓我們創建以下繪圖:

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()
登入後複製

此圖演示了以指數、二次和線性縮放時標記大小的顯示方式。

以上是Matplotlib 的 pyplot.scatter() 函式如何使用 s 參數來控制標記大小?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板