python使用matplotlib繪制折線圖教程
matplotlib簡(jiǎn)介
matplotlib 是python最著名的繪圖庫(kù),它提供了一整套和matlab相似的命令A(yù)PI,十分適合交互式地行制圖。而且也可以方便地將它作為繪圖控件,嵌入GUI應(yīng)用程序中。
它的文檔相當(dāng)完備,并且Gallery頁(yè)面中有上百幅縮略圖,打開(kāi)之后都有源程序。因此如果你需要繪制某種類(lèi)型的圖,只需要在這個(gè)頁(yè)面中瀏覽/復(fù)制/粘貼一下,基本上都能搞定。
在Linux下比較著名的數(shù)據(jù)圖工具還有g(shù)nuplot,這個(gè)是免費(fèi)的,Python有一個(gè)包可以調(diào)用gnuplot,但是語(yǔ)法比較不習(xí)慣,而且畫(huà)圖質(zhì)量不高。
而 Matplotlib則比較強(qiáng):Matlab的語(yǔ)法、python語(yǔ)言、latex的畫(huà)圖質(zhì)量(還可以使用內(nèi)嵌的latex引擎繪制的數(shù)學(xué)公式)。
繪圖庫(kù)Matplotlib的安裝方法:點(diǎn)擊這里
matplotlib繪制折線圖
1. line chart
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 2 * np.pi, 100) y1, y2 = np.sin(x), np.cos(x) plt.plot(x, y1) plt.plot(x, y2) plt.title('line chart') plt.xlabel('x') plt.ylabel('y') plt.show()
2. 圖例
在plot的時(shí)候指定label,然后調(diào)用legend方法可以繪制圖例。例如:
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 2 * np.pi, 100) y1, y2 = np.sin(x), np.cos(x) plt.plot(x, y1, label='y = sin(x)') plt.plot(x, y2, label='y = cos(x)') plt.legend() plt.show()
legend方法可接受一個(gè)loc關(guān)鍵字參數(shù)來(lái)設(shè)定圖例的位置,可取值為數(shù)字或字符串:
0: ‘best'
1: ‘upper right'
2: ‘upper left'
3: ‘lower left'
4: ‘lower right'
5: ‘right'
6: ‘center left'
7: ‘center right'
8: ‘lower center'
9: ‘upper center'
10: ‘center'
3. 線的樣式
(1)顏色
plot方法的關(guān)鍵字參數(shù)color(或c)用來(lái)設(shè)置線的顏色。可取值為:
1、顏色名稱(chēng)或簡(jiǎn)寫(xiě)
b: blue
g: green
r: red
c: cyan
m: magenta
y: yellow
k: black
w: white
2、#rrggbb
3、(r, g, b) 或 (r, g, b, a),其中 r g b a 取均為[0, 1]之間
4、[0, 1]之間的浮點(diǎn)數(shù)的字符串形式,表示灰度值。0表示黑色,1表示白色
(2)樣式
plot方法的關(guān)鍵字參數(shù)linestyle(或ls)用來(lái)設(shè)置線的樣式??扇≈禐椋?/p>
- -, solid
- --, dashed
- -., dashdot
- :, dotted
- '', ' ', None
(3)粗細(xì)
設(shè)置plot方法的關(guān)鍵字參數(shù)linewidth(或lw)可以改變線的粗細(xì),其值為浮點(diǎn)數(shù)。
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 2 * np.pi, 100) y1, y2 = np.sin(x), np.cos(x) plt.plot(x, y1, c='r', ls='--', lw=3) plt.plot(x, y2, c='#526922', ls='-.') plt.show()
4. marker
以下關(guān)鍵字參數(shù)可以用來(lái)設(shè)置marker的樣式:
- marker
- markeredgecolor 或 mec
- markeredgewidth 或 mew
- markerfacecolor 或 mfc
- markerfacecoloralt 或 mfcalt
- markersize 或 ms
其中marker可取值為:
- '.': point marker
- ',': pixel marker
- 'o': circle marker
- 'v': triangle_down marker
- '^': triangle_up marker
- '<': triangle_left marker
- '>': triangle_right marker
- '1': tri_down marker
- '2': tri_up marker
- '3': tri_left marker
- '4': tri_right marker
- 's': square marker
- 'p': pentagon marker
- '*': star marker
- 'h': hexagon1 marker
- 'H': hexagon2 marker
- '+': plus marker
- 'x': x marker
- 'D': diamond marker
- 'd': thin_diamond marker
- '|': vline marker
- '_': hline marker
例如:
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 2 * np.pi, 10) y1, y2 = np.sin(x), np.cos(x) plt.plot(x, y1, marker='o', mec='r', mfc='w') plt.plot(x, y2, marker='*', ms=10) plt.show()
另外,marker關(guān)鍵字參數(shù)可以和color以及l(fā)inestyle這兩個(gè)關(guān)鍵字參數(shù)合并為一個(gè)字符串。例如:
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 2 * np.pi, 10) y1, y2 = np.sin(x), np.cos(x) plt.plot(x, y1, 'ro-') plt.plot(x, y2, 'g*:', ms=10) plt.show()
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- Python使用matplotlib繪制動(dòng)畫(huà)的方法
- python使用matplotlib繪制柱狀圖教程
- python學(xué)習(xí)之matplotlib繪制散點(diǎn)圖實(shí)例
- Python通過(guò)matplotlib繪制動(dòng)畫(huà)簡(jiǎn)單實(shí)例
- Python使用matplotlib繪制多個(gè)圖形單獨(dú)顯示的方法示例
- python使用matplotlib模塊繪制多條折線圖、散點(diǎn)圖
- python使用matplotlib繪制熱圖
- Python用?matplotlib?繪制柱狀圖
- Python?matplotlib?繪制散點(diǎn)圖詳解建議收藏
- python中matplotlib的用法及繪制簡(jiǎn)單圖形詳解
相關(guān)文章
pyqt5讓圖片自適應(yīng)QLabel大小上以及移除已顯示的圖片方法
今天小編就為大家分享一篇pyqt5讓圖片自適應(yīng)QLabel大小上以及移除已顯示的圖片方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06python使用tkinter庫(kù)實(shí)現(xiàn)五子棋游戲
這篇文章主要為大家詳細(xì)介紹了python使用tkinter庫(kù)實(shí)現(xiàn)五子棋游戲,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06python導(dǎo)入csv文件出現(xiàn)SyntaxError問(wèn)題分析
這篇文章主要介紹了python導(dǎo)入csv文件出現(xiàn)SyntaxError問(wèn)題分析,同時(shí)涉及python導(dǎo)入csv文件的三種方法,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12linux之父進(jìn)程使用kill函數(shù)殺死子進(jìn)程方式
這篇文章主要介紹了linux之父進(jìn)程使用kill函數(shù)殺死子進(jìn)程方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06Python利用watchdog模塊監(jiān)控文件變化
這篇文章主要為大家介紹一個(gè)Python中的模塊:watchdog模塊,它可以實(shí)現(xiàn)監(jiān)控文件的變化。文中通過(guò)示例詳細(xì)介紹了watchdog模塊的使用,需要的可以參考一下2022-06-06python?slack桌面自動(dòng)化開(kāi)發(fā)工具
這篇文章主要為大家介紹了python?slack桌面自動(dòng)化開(kāi)發(fā)工具使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08使用python提取html文件中的特定數(shù)據(jù)的實(shí)現(xiàn)代碼
python提供了SGMLParser類(lèi)用于html文件的解析。用戶只需從SGMLParser類(lèi)繼承子類(lèi),并在子類(lèi)中對(duì)html文件做具體處理2013-03-03Python with用法:自動(dòng)關(guān)閉文件進(jìn)程
這篇文章主要介紹了Python with用法:自動(dòng)關(guān)閉文件進(jìn)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07python 應(yīng)用之Pycharm 新建模板默認(rèn)添加編碼格式-作者-時(shí)間等信息【推薦】
這篇文章主要介紹了Pycharm 新建模板默認(rèn)添加編碼格式-作者-時(shí)間等信息 ,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06基于Python3.7.1無(wú)法導(dǎo)入Numpy的解決方式
這篇文章主要介紹了基于Python3.7.1無(wú)法導(dǎo)入Numpy的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03