Python繪制莖葉圖的示例代碼
簡(jiǎn)介
莖葉圖從外觀來(lái)看,更像是火柴,由基線、莖線、莖頭三部分構(gòu)成。最簡(jiǎn)單的示例如下
import numpy as np import matplotlib.pyplot as plt plt.stem(np.sin(np.arange(10))) plt.show()

參數(shù)
stem的完整參數(shù)如下
stem([locs,] heads, linefmt=None, markerfmt=None, basefmt=None, bottom=0, label=None, orientation='vertical', data=None)
其中
- locs和heads表示其x , y x,yx,y方向的值。如果只輸入一組數(shù)值,則默認(rèn)輸入的是heads。
- linefmt, markerfmt, basefmt 均為字符串,分別用于定義莖線、莖頭以及基線的格式。
- orientation 表示莖葉圖方向,默認(rèn)為’vertical’,若取值為’horizontal’,則莖葉圖調(diào)轉(zhuǎn)90°
- bottom 為基線的位置
- label 為圖例中使用的標(biāo)簽
linefmt和basefmt字符串由兩部分組成,分別用于設(shè)置莖線的顏色和類型,第一部分格式為Cx,表示色環(huán)中第x種顏色;第二部分可選’-', ‘–’, ‘-.’, ‘:’,表示線的虛實(shí)類型。當(dāng)然,第一部分直接采取顏色縮寫,比如r,g,b也是可以的。
markerfmt也是同樣的格式,但用于調(diào)整莖頭標(biāo)記點(diǎn)的字符與線型有所差異。其具體可選值存放在Line2D中
from matplotlib.lines import Line2D from pprint import pprint pprint(Line2D.markers)
打印結(jié)果是一個(gè)字典,列表如下
| 0 | ‘tickleft’ | 1 | ‘tickright’ | 2 | ‘tickup’ |
| 3 | ‘tickdown’ | 4 | ‘caretleft’ | 5 | ‘caretright’ |
| 6 | ‘caretup’ | 7 | ‘caretdown’ | 8 | ‘caretleftbase’ |
| 9 | ‘caretrightbase’ | 10 | ‘caretupbase’ | 11 | ‘caretdownbase’ |
| ‘’ | ‘nothing’ | ’ ’ | ‘nothing’ | ‘*’ | ‘star’ |
| ‘+’ | ‘plus’ | ‘,’ | ‘pixel’ | ‘.’ | ‘point’ |
| ‘1’ | ‘tri_down’ | ‘2’ | ‘tri_up’ | ‘3’ | ‘tri_left’ |
| ‘4’ | ‘tri_right’ | ‘8’ | ‘octagon’ | ‘<’ | ‘triangle_left’ |
| ‘>’ | ‘triangle_right’ | ‘D’ | ‘diamond’ | ‘H’ | ‘hexagon2’ |
| None’ | ‘nothing’ | ‘P’ | ‘plus_filled’ | ‘X’ | ‘x_filled’ |
| ‘^’ | ‘triangle_up’ | ‘_’ | ‘hline’ | ‘d’ | ‘thin_diamond’ |
| ‘h’ | ‘hexagon1’ | ‘none’ | ‘nothing’ | ‘o’ | ‘circle’ |
| ‘p’ | ‘pentagon’ | ‘s’ | ‘square’ | ‘v’ | ‘triangle_down’ |
| ‘x’ | ‘x’ | ’ | ’ | ‘vline’ |
演示
下面演示一下不同格式的效果
lf = ['C0-', 'C1--', 'C2-.', 'C3:']
mf = ['C40', 'r*', 'g8', 'bD']
xs = np.sin(np.arange(10))
fig = plt.figure()
for i in range(4):
ax = fig.add_subplot(2,2,i+1)
ax.stem(xs, linefmt=lf[i], markerfmt=mf[i])
plt.title(f"linefmt={lf[i]}, markerfmt={mf[i]}")
plt.show()
效果如下

到此這篇關(guān)于Python繪制莖葉圖的示例代碼的文章就介紹到這了,更多相關(guān)Python莖葉圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
對(duì)pycharm代碼整體左移和右移縮進(jìn)快捷鍵的介紹
今天小編就為大家分享一篇對(duì)pycharm代碼整體左移和右移縮進(jìn)快捷鍵的介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
Python輕松實(shí)現(xiàn)在PDF中插入頁(yè)眉頁(yè)腳
在 PDF 中自動(dòng)添加頁(yè)眉頁(yè)腳,可以讓文檔更規(guī)范、更具識(shí)別度,本文將使用Spire.PDF for Python實(shí)現(xiàn)簡(jiǎn)單快速地處理 PDF 文件相關(guān)的各種任務(wù),需要的可以了解下2025-10-10
利用Python自動(dòng)化操作AutoCAD的實(shí)現(xiàn)
這篇文章主要介紹了利用Python自動(dòng)化操作AutoCAD的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
python實(shí)現(xiàn)文件助手中查看微信撤回消息
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)文件助手中查看微信撤回消息,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04
利用Python中的輸入和輸出功能進(jìn)行讀取和寫入的教程
這篇文章主要介紹了利用Python中的輸入和輸出功能進(jìn)行讀取和寫入的教程,本文來(lái)自于IBM官方網(wǎng)站技術(shù)文檔,需要的朋友可以參考下2015-04-04

