教你利用python的matplotlib(pyplot)繪制折線圖和柱狀圖
前言
今天幫師兄趕在deadline之前畫論文的圖,現(xiàn)學(xué)現(xiàn)賣很是刺激,現(xiàn)把使用matplotlib的子庫pyplot畫折線圖和柱狀圖的代碼記錄分享一下,方便大家參考,個人感覺pyplot真的蠻方便的,非常值得使用。
先看下官方對pyplot的描述:“Provides a MATLAB-like plotting framework.”。對,就是一個類似matlab的畫圖框架。就不多多說了,直接上代碼吧:
一、折線圖
代碼:
import matplotlib.pyplot as plt #折線圖 x = [5,7,11,17,19,25]#點的橫坐標(biāo) k1 = [0.8222,0.918,0.9344,0.9262,0.9371,0.9353]#線1的縱坐標(biāo) k2 = [0.8988,0.9334,0.9435,0.9407,0.9453,0.9453]#線2的縱坐標(biāo) plt.plot(x,k1,'s-',color = 'r',label="ATT-RLSTM")#s-:方形 plt.plot(x,k2,'o-',color = 'g',label="CNN-RLSTM")#o-:圓形 plt.xlabel("region length")#橫坐標(biāo)名字 plt.ylabel("accuracy")#縱坐標(biāo)名字 plt.legend(loc = "best")#圖例 plt.show()
運行結(jié)果:
關(guān)于上述代碼參數(shù)的一點解釋:
plt.legend(loc=”best”) 中l(wèi)oc=”best”意思是自動選擇放圖例的合適位置,上圖就是放在了右下角,這個參數(shù)還有其他的設(shè)置如下:
二、柱狀圖
多個柱狀圖用顏色區(qū)分
代碼如下:
#柱狀圖 import numpy as np import matplotlib.pyplot as plt ATT_LSTM = [0.8892,0.861,0.9243] MATT_CNN = [0.8966,0.8556,0.9316] ATT_RLSTM = [0.8867,0.8543,0.9344] CNN_RLSTM = [0.9016,0.8636,0.9435] #x = ['REST','LAPT','AUTO'] x = np.arange(3) #總共有幾組,就設(shè)置成幾,我們這里有三組,所以設(shè)置為3 total_width, n = 0.8, 4 # 有多少個類型,只需更改n即可,比如這里我們對比了四個,那么就把n設(shè)成4 width = total_width / n x = x - (total_width - width) / 2 plt.bar(x, ATT_LSTM, color = "r",width=width,label='ATT-LSTM ') plt.bar(x + width, MATT_CNN, color = "y",width=width,label='MATT-CNN') plt.bar(x + 2 * width, ATT_RLSTM , color = "c",width=width,label='ATT-RLSTM') plt.bar(x + 3 * width, CNN_RLSTM , color = "g",width=width,label='CNN-RLSTM') plt.xlabel("dataset") plt.ylabel("accuracy") plt.legend(loc = "best") plt.xticks([0,1,2],['REST','LAPT','AUTO']) my_y_ticks = np.arange(0.8, 0.95, 0.02) plt.ylim((0.8, 0.95)) plt.yticks(my_y_ticks) plt.show()
結(jié)果如下:
2. 多個柱狀圖用填充圖形(\,/,*,o等)
代碼如下:
#柱狀圖 import numpy as np import matplotlib.pyplot as plt ATT_LSTM = [0.8892,0.861,0.9243] MATT_CNN = [0.8966,0.8556,0.9316] ATT_RLSTM = [0.8867,0.8543,0.9344] CNN_RLSTM = [0.9016,0.8636,0.9435] #x = ['REST','LAPT','AUTO'] x = np.arange(3) total_width, n = 0.8, 4 # 有多少個類型,只需更改n即可 width = total_width / n x = x - (total_width - width) / 2 plt.bar(x, ATT_LSTM, color = "w",edgecolor = "k",width=width,hatch = "/",label='ATT-LSTM ')#edgecolor柱狀邊框顏色,hatch填充的內(nèi)容 plt.bar(x + width, MATT_CNN, color = "w",edgecolor = "k",width=width, hatch = "+",label='MATT-CNN') plt.bar(x + 2 * width, ATT_RLSTM , color = "w",edgecolor = "k",width=width, hatch = "*",label='ATT-RLSTM') plt.bar(x + 3 * width, CNN_RLSTM , color = "w",edgecolor = "k",width=width, hatch = "\\",label='CNN-RLSTM') plt.xlabel("dataset") plt.ylabel("accuracy") plt.legend(loc = "best") plt.xticks([0,1,2],['REST','LAPT','AUTO']) my_y_ticks = np.arange(0.8, 0.95, 0.02) plt.ylim((0.8, 0.95)) plt.yticks(my_y_ticks) plt.show()
運行結(jié)果為:
這就是畫折線圖和柱狀圖的示例。
總結(jié)
到此這篇關(guān)于利用python的matplotlib(pyplot)繪制折線圖和柱狀圖的文章就介紹到這了,更多相關(guān)python pyplot畫折線圖和柱狀圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 使用Python的matplotlib庫繪制柱狀圖
- Python數(shù)據(jù)分析之使用matplotlib繪制折線圖、柱狀圖和柱線混合圖
- python如何利用matplotlib繪制并列雙柱狀圖并標(biāo)注數(shù)值
- Python使用matplotlib給柱狀圖添加數(shù)據(jù)標(biāo)簽bar_label()
- python中如何利用matplotlib畫多個并列的柱狀圖
- Python用?matplotlib?繪制柱狀圖
- python使用matplotlib畫柱狀圖、散點圖
- python使用matplotlib繪制柱狀圖教程
- Python 如何利用pandas 和 matplotlib繪制柱狀圖
相關(guān)文章
Python爬蟲之Selenium多窗口切換的實現(xiàn)
這篇文章主要介紹了Python爬蟲之Selenium多窗口切換的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12Python argparse 解析命令行參數(shù)模塊詳情
這篇文章主要介紹了Python argparse 解析命令行參數(shù)模塊詳情,argparse是python用于解析命令行參數(shù)和選項的標(biāo)準模塊,用于代替已經(jīng)過時的optparse模塊2022-07-07sublime3之內(nèi)網(wǎng)安裝python插件Anaconda的流程
這篇文章主要介紹了sublime3之內(nèi)網(wǎng)安裝python插件Anaconda的流程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11簡單介紹Python的Django框架的dj-scaffold項目
這篇文章主要介紹了簡單介紹Python的Django框架的dj-scaffold項目,用于輔助Django框架的目錄設(shè)置,需要的朋友可以參考下2015-05-05Python實現(xiàn)CAN報文轉(zhuǎn)換工具教程
這篇文章主要介紹了Python實現(xiàn)CAN報文轉(zhuǎn)換工具教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05