本文簡要介紹 python 語言中 matplotlib.pyplot.plot
的用法。
-
將 y 與 x 繪製為線條和/或標記。
調用簽名:
plot([x], y, [fmt], *, data=None, **kwargs) plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)
點或線節點的坐標由
x
、y
給出。可選參數
fmt
是定義顏色、標記和線型等基本格式的便捷方式。這是下麵Notes
部分中說明的快捷字符串表示法。>>> plot(x, y) # plot x and y using default line style and color >>> plot(x, y, 'bo') # plot x and y using blue circle markers >>> plot(y) # plot y using x as index array 0..N-1 >>> plot(y, 'r+') # ditto, but with red plusses
您可以使用
Line2D
屬性作為關鍵字參數來更好地控製外觀。線屬性和fmt
可以混合使用。以下兩個調用產生相同的結果:>>> plot(x, y, 'go--', linewidth=2, markersize=12) >>> plot(x, y, color='green', marker='o', linestyle='dashed', ... linewidth=2, markersize=12)
當與
fmt
衝突時,關鍵字參數優先。繪製標記數據
有一種方便的方法可以繪製帶有標記數據的對象(即可以通過索引
obj['y']
訪問的數據)。除了在x
和y
中提供數據之外,您還可以在data
參數中提供對象,並隻提供x
和y
的標簽:>>> plot('xlabel', 'ylabel', data=obj)
支持所有可索引對象。這可以例如是
dict
、pandas.DataFrame
或結構化的 numpy 數組。繪製多組數據
有多種方法可以繪製多組數據。
-
最直接的方法就是多次調用
plot
。例子:>>> plot(x1, y1, 'bo') >>> plot(x2, y2, 'go')
-
如果
x
和/或y
是二維數組,將為每一列繪製一個單獨的數據集。如果x
和y
都是二維的,則它們必須具有相同的形狀。如果其中隻有一個是形狀為 (N, m) 的 2D,則另一個必須具有長度 N 並將用於每個數據集 m。例子:
>>> x = [1, 2, 3] >>> y = np.array([[1, 2], [3, 4], [5, 6]]) >>> plot(x, y)
相當於:
>>> for col in range(y.shape[1]): ... plot(x, y[:, col])
-
第三種方法是指定多組
[x]
、y
、[fmt]
組:>>> plot(x1, y1, 'g^', x2, y2, 'g-')
在這種情況下,任何附加關鍵字參數都適用於所有數據集。此外,此語法不能與
data
參數組合。
默認情況下,每行都分配有由'style cycle' 指定的不同樣式。這
fmt
僅當您希望顯式偏離這些默認值時,才需要和 line 屬性參數。或者,您也可以使用更改樣式周期rcParams["axes.prop_cycle"]
(默認:cycler('color', ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf'])
)。- 參數:
- x, y 類似數組或標量
-
數據點的水平/垂直坐標。
x
值是可選的,默認為range(len(y))
。通常,這些參數是一維數組。
它們也可以是標量或二維的(在這種情況下,列表示單獨的數據集)。
這些參數不能作為關鍵字傳遞。
- fmt str,可選
-
格式字符串,例如'ro' 用於紅色圓圈。有關格式字符串的完整說明,請參閱
Notes
部分。格式字符串隻是快速設置基本行屬性的縮寫。所有這些以及更多也可以通過關鍵字參數來控製。
此參數不能作為關鍵字傳遞。
- data 可索引對象,可選
-
帶有標簽數據的對象。如果給定,請提供要在
x
和y
中繪製的標簽名稱。注意從技術上講,在第二個標簽是有效的
fmt
的調用中存在輕微的歧義。plot('n', 'o', data=obj)
可以是plt(x, y)
或plt(y, fmt)
。在這種情況下,會選擇前一種解釋,但會發出警告。您可以通過添加空格式字符串plot('n', 'o', '', data=obj)
來抑製警告。
- 返回:
-
Line2D
列表 -
表示繪製數據的線列表。
-
- 其他參數:
- scalex, scaley 布爾值,默認值:真
-
這些參數確定視圖限製是否適應數據限製。這些值被傳遞給
autoscale_view
。 - **kwargs
Line2D
屬性,可選 -
kwargs
用於指定線標簽(用於自動圖例)、線寬、抗鋸齒、標記麵顏色等屬性。例子:>>> plot([1, 2, 3], [1, 2, 3], 'go-', label='line 1', linewidth=2) >>> plot([1, 2, 3], [1, 4, 9], 'rs', label='line 2')
如果您在一次繪圖調用中指定多行,則 kwargs 適用於所有這些行。如果標簽對象是可迭代的,則每個元素都用作每組數據的標簽。
以下是可用的
Line2D
屬性列表:屬性
說明
一個過濾器函數,它接受一個 (m, n, 3) 浮點數組和一個 dpi 值,並返回一個 (m, n, 3) 數組和距圖像左下角的兩個偏移量
標量或無
bool
antialiased
或 aabool
BboxBase
或無bool
補丁或(路徑,變換)或無
color
或 ccolor
CapStyle
或 {'butt', 'projecting', 'round'}JoinStyle
或 {'miter', 'round', 'bevel'}浮點數序列(以點為單位的開/關墨水)或(無,無)
(2, N) 數組或兩個一維數組
drawstyle
或 ds{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'},默認:'default'
{'full', 'left', 'right', 'bottom', 'top', 'none'}
顏色或無
str
bool
object
linestyle
或 ls{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth
或 lwfloat
標記樣式字符串,
Path
或MarkerStyle
markeredgecolor
或機械color
markeredgewidth
或喵喵float
markerfacecolor
或 mfccolor
markerfacecoloralt
或 mfcaltcolor
markersize
或毫秒float
None 或 int 或 (int, int) 或 slice 或 list[int] 或 float 或 (float, float) 或 list[bool]
bool
浮點數或可調用[[藝術家,事件],元組[布爾,字典]]
float
bool
(比例:浮點數,長度:浮點數,隨機性:浮點數)
布爾或無
CapStyle
或 {'butt', 'projecting', 'round'}JoinStyle
或 {'miter', 'round', 'bevel'}unknown
str
bool
一維數組
一維數組
float
注意
格式化字符串
格式字符串由顏色、標記和線條部分組成:
fmt = '[marker][line][color]'
它們中的每一個都是可選的。如果未提供,則使用樣式循環中的值。異常:如果給出
line
但沒有給出marker
,則數據將是沒有標記的行。還支持其他組合,例如
[color][marker][line]
,但請注意,它們的解析可能不明確。標記
字符
說明
'.'
點標記
','
像素標記
'o'
圓圈標記
'v'
triangle_down 標記
'^'
triangle_up 標記
'<'
triangle_left 標記
'>'
triangle_right 標記
'1'
tri_down 標記
'2'
tri_up 標記
'3'
tri_left 標記
'4'
tri_right 標記
'8'
八角形標記
's'
方形標記
'p'
五邊形標記
'P'
加(填充)標記
'*'
星標
'h'
hexagon1 標記
'H'
hexagon2 標記
'+'
加號標記
'x'
x 標記
'X'
x(填充)標記
'D'
鑽石標記
'd'
thin_diamond 標記
'|'
線標記
'_'
線標記
線型
字符
說明
'-'
實線樣式
'--'
虛線樣式
'-.'
dash-dot線型
':'
虛線樣式
示例格式字符串:
'b' # blue markers with default shape 'or' # red circles '-g' # green solid line '--' # dashed line with default color '^k:' # black triangle_up markers connected by a dotted line
顏色
支持的顏色縮寫是單字母代碼
字符
顏色
'b'
blue
'g'
green
'r'
red
'c'
cyan
'm'
magenta
'y'
yellow
'k'
black
'w'
white
以及索引到默認屬性周期的
'CN'
顏色。如果顏色是格式字符串的唯一部分,您還可以使用任何
matplotlib.colors
規範,例如全名 ('green'
) 或十六進製字符串 ('#008000'
)。 -
用法
matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, **kwargs)
相關用法
- Python matplotlib pts_to_midstep用法及代碼示例
- Python matplotlib pts_to_poststep用法及代碼示例
- Python matplotlib pts_to_prestep用法及代碼示例
- Python matplotlib axvspan用法及代碼示例
- Python matplotlib Axes.get_legend_handles_labels用法及代碼示例
- Python matplotlib AbstractMovieWriter用法及代碼示例
- Python matplotlib triplot用法及代碼示例
- Python matplotlib StarPolygonCollection.set_hatch用法及代碼示例
- Python matplotlib Axes.hist用法及代碼示例
- Python matplotlib boxplot用法及代碼示例
- Python matplotlib subplots用法及代碼示例
- Python matplotlib InsetPosition用法及代碼示例
- Python matplotlib ToolManager.toolmanager_disconnect用法及代碼示例
- Python matplotlib Figure.set_size_inches用法及代碼示例
- Python matplotlib figlegend用法及代碼示例
- Python matplotlib Axes.step用法及代碼示例
- Python matplotlib Axes.contour用法及代碼示例
- Python matplotlib LassoSelector用法及代碼示例
- Python matplotlib BrokenBarHCollection.set_hatch用法及代碼示例
- Python matplotlib Axes.plot用法及代碼示例
- Python matplotlib Axes.semilogx用法及代碼示例
- Python matplotlib Axes.semilogy用法及代碼示例
- Python matplotlib MovieWriterRegistry.register用法及代碼示例
- Python matplotlib PolyQuadMesh.set_hatch用法及代碼示例
- Python matplotlib warn_deprecated用法及代碼示例
注:本文由純淨天空篩選整理自skytowner.com大神的英文原創作品 matplotlib.pyplot.plot。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。