網站首頁 編程語言 正文
前言
今天幫師兄趕在deadline之前畫論文的圖,現學現賣很是刺激,現把使用matplotlib的子庫pyplot畫折線圖和柱狀圖的代碼記錄分享一下,方便大家參考,個人感覺pyplot真的蠻方便的,非常值得使用。
先看下官方對pyplot的描述:“Provides a MATLAB-like plotting framework.”。對,就是一個類似matlab的畫圖框架。就不多多說了,直接上代碼吧:
一、折線圖
代碼:
import matplotlib.pyplot as plt
#折線圖
x = [5,7,11,17,19,25]#點的橫坐標
k1 = [0.8222,0.918,0.9344,0.9262,0.9371,0.9353]#線1的縱坐標
k2 = [0.8988,0.9334,0.9435,0.9407,0.9453,0.9453]#線2的縱坐標
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")#橫坐標名字
plt.ylabel("accuracy")#縱坐標名字
plt.legend(loc = "best")#圖例
plt.show()
運行結果:
關于上述代碼參數的一點解釋:
plt.legend(loc=”best”) 中loc=”best”意思是自動選擇放圖例的合適位置,上圖就是放在了右下角,這個參數還有其他的設置如下:
二、柱狀圖
多個柱狀圖用顏色區分
代碼如下:
#柱狀圖
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) #總共有幾組,就設置成幾,我們這里有三組,所以設置為3
total_width, n = 0.8, 4 # 有多少個類型,只需更改n即可,比如這里我們對比了四個,那么就把n設成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()
結果如下:
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填充的內容
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()
運行結果為:
這就是畫折線圖和柱狀圖的示例。
總結
原文鏈接:https://blog.csdn.net/u012328159/article/details/79240652
相關推薦
- 2022-07-25 軟件測試業務梳理的實用技巧_應用技巧
- 2023-01-09 基于Python實現拉格朗日插值法_python
- 2022-07-09 Python小技巧練習分享_python
- 2022-05-09 python中pip安裝庫時出現Read?timed?out解決辦法_python
- 2022-02-04 關于傳統并行計算框架(比如MPI)和MapReduce并行計算框架比較
- 2022-12-04 詳解Golang中gcache模塊的基本使用_Golang
- 2022-12-03 pytorch模型保存與加載中的一些問題實戰記錄_python
- 2022-07-02 jquery實現無縫輪播圖_jquery
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支