使用python?matplotlib畫(huà)折線圖實(shí)例代碼
matplotlib簡(jiǎn)介
matplotlib 是python最著名的繪圖庫(kù),它提供了一整套和matlab相似的命令A(yù)PI,十分適合交互式地行制圖。而且也可以方便地將它作為繪圖控件,嵌入GUI應(yīng)用程序中。
它的文檔相當(dāng)完備,并且Gallery頁(yè)面中有上百幅縮略圖,打開(kā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é)公式)。
1、畫(huà)折線圖【一條示例】
import matplotlib.pyplot as plt import numpy as np x_axis_data = [1,2,3,4,5,6,7] #x y_axis_data = [68,69,79,71,80,70,66] #y plt.plot(x_axis_data, y_axis_data, 'b*--', alpha=0.5, linewidth=1, label='acc')#'bo-'表示藍(lán)色實(shí)線,數(shù)據(jù)點(diǎn)實(shí)心原點(diǎn)標(biāo)注 ## plot中參數(shù)的含義分別是橫軸值,縱軸值,線的形狀('s'方塊,'o'實(shí)心圓點(diǎn),'*'五角星 ...,顏色,透明度,線的寬度和標(biāo)簽 , plt.legend() #顯示上面的label plt.xlabel('time') #x_label plt.ylabel('number')#y_label #plt.ylim(-1,1)#僅設(shè)置y軸坐標(biāo)范圍 plt.show()
運(yùn)行,得到:
2、畫(huà)折線圖帶數(shù)據(jù)標(biāo)簽
在畫(huà)線代碼之前加入這句代碼:
for x, y in zip(x_axis_data, y_axis_data): plt.text(x, y+0.3, '%.00f' % y, ha='center', va='bottom', fontsize=7.5)#y_axis_data1加標(biāo)簽數(shù)據(jù)
總體代碼如下:
import matplotlib.pyplot as plt import numpy as np x_axis_data = [1,2,3,4,5,6,7] #x y_axis_data = [68,69,79,71,80,70,66] #y for x, y in zip(x_axis_data, y_axis_data): plt.text(x, y+0.3, '%.00f' % y, ha='center', va='bottom', fontsize=7.5)#y_axis_data1加標(biāo)簽數(shù)據(jù) plt.plot(x_axis_data, y_axis_data, 'b*--', alpha=0.5, linewidth=1, label='acc')#'bo-'表示藍(lán)色實(shí)線,數(shù)據(jù)點(diǎn)實(shí)心原點(diǎn)標(biāo)注 ## plot中參數(shù)的含義分別是橫軸值,縱軸值,線的形狀('s'方塊,'o'實(shí)心圓點(diǎn),'*'五角星 ...,顏色,透明度,線的寬度和標(biāo)簽 , plt.legend() #顯示上面的label plt.xlabel('time') #x_label plt.ylabel('number')#y_label #plt.ylim(-1,1)#僅設(shè)置y軸坐標(biāo)范圍 plt.show()
3、畫(huà)多條折線圖:
import matplotlib.pyplot as plt import numpy as np #epoch,acc,loss,val_acc,val_loss x_axis_data = [1,2,3,4,5,6,7] y_axis_data1 = [68.72,69.17,69.26,69.63,69.35,70.3,66.8] y_axis_data2 = [71,73,52,66,74,82,71] y_axis_data3 = [82,83,82,76,84,92,81] #畫(huà)圖 plt.plot(x_axis_data, y_axis_data1, 'b*--', alpha=0.5, linewidth=1, label='acc')#' plt.plot(x_axis_data, y_axis_data2, 'rs--', alpha=0.5, linewidth=1, label='acc') plt.plot(x_axis_data, y_axis_data3, 'go--', alpha=0.5, linewidth=1, label='acc') plt.legend() #顯示上面的label plt.xlabel('time') plt.ylabel('number')#accuracy #plt.ylim(-1,1)#僅設(shè)置y軸坐標(biāo)范圍 plt.show()
運(yùn)行,得到:
4、畫(huà)多條折線圖分別帶數(shù)據(jù)標(biāo)簽:
import matplotlib.pyplot as plt import numpy as np #epoch,acc,loss,val_acc,val_loss x_axis_data = [1,2,3,4,5,6,7] y_axis_data1 = [68.72,69.17,69.26,69.63,69.35,70.3,66.8] y_axis_data2 = [71,73,52,66,74,82,71] y_axis_data3 = [82,83,82,76,84,92,81] #畫(huà)圖 plt.plot(x_axis_data, y_axis_data1, 'b*--', alpha=0.5, linewidth=1, label='acc')#' plt.plot(x_axis_data, y_axis_data2, 'rs--', alpha=0.5, linewidth=1, label='acc') plt.plot(x_axis_data, y_axis_data3, 'go--', alpha=0.5, linewidth=1, label='acc') ## 設(shè)置數(shù)據(jù)標(biāo)簽位置及大小 for a, b in zip(x_axis_data, y_axis_data1): plt.text(a, b, str(b), ha='center', va='bottom', fontsize=8) # ha='center', va='top' for a, b1 in zip(x_axis_data, y_axis_data2): plt.text(a, b1, str(b1), ha='center', va='bottom', fontsize=8) for a, b2 in zip(x_axis_data, y_axis_data3): plt.text(a, b2, str(b2), ha='center', va='bottom', fontsize=8) plt.legend() #顯示上面的label plt.xlabel('time') plt.ylabel('number')#accuracy #plt.ylim(-1,1)#僅設(shè)置y軸坐標(biāo)范圍 plt.show()
運(yùn)行,得到:
附上形狀,可與顏色搭配:
‘s’ : 方塊狀
‘o’ : 實(shí)心圓
‘^’ : 正三角形
‘v’ : 反正三角形
‘+’ : 加好
‘*’ : 星號(hào)
‘x’ : x號(hào)
‘p’ : 五角星
‘1’ : 三腳架標(biāo)記
‘2’ : 三腳架標(biāo)記
總結(jié)
到此這篇關(guān)于使用python matplotlib畫(huà)折線圖的文章就介紹到這了,更多相關(guān)python matplotlib畫(huà)折線圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python判斷某個(gè)用戶對(duì)某個(gè)文件的權(quán)限
這篇文章主要為大家詳細(xì)介紹了Python如何判斷某個(gè)用戶對(duì)某個(gè)文件的權(quán)限,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10Pandas分組聚合之groupby()、agg()方法的使用教程
今天看到pandas的聚合函數(shù)agg,比較陌生,平時(shí)的工作中處理數(shù)據(jù)的時(shí)候使用的也比較少,為了加深印象,總結(jié)一下使用的方法,下面這篇文章主要給大家介紹了關(guān)于Pandas分組聚合之groupby()、agg()方法的使用教程,需要的朋友可以參考下2023-01-01ubuntu系統(tǒng)如何從python3.7升級(jí)到python3.8
這篇文章主要給大家介紹了關(guān)于ubuntu系統(tǒng)如何從python3.7升級(jí)到python3.8的相關(guān)資料,Python是一種廣泛使用的編程語(yǔ)言,而Ubuntu是一個(gè)流行的開(kāi)源操作系統(tǒng),通過(guò)升級(jí)Python您可以獲得新功能、性能改進(jìn)和安全修復(fù),需要的朋友可以參考下2023-11-11Python實(shí)現(xiàn)計(jì)算最小編輯距離
這篇文章主要介紹了Python實(shí)現(xiàn)計(jì)算最小編輯距離的相關(guān)代碼,有需要的小伙伴可以參考下2016-03-03python使用 __init__初始化操作簡(jiǎn)單示例
這篇文章主要介紹了python使用 __init__初始化操作,結(jié)合實(shí)例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計(jì)中使用__init__進(jìn)行初始化操作相關(guān)技巧與注意事項(xiàng),需要的朋友可以參考下2019-09-09Spring Boot中使用IntelliJ IDEA插件EasyCode一鍵生成代碼詳細(xì)方法
這篇文章主要介紹了Spring Boot中使用IntelliJ IDEA插件EasyCode一鍵生成代碼詳細(xì)方法,需要的朋友可以參考下2020-03-03Python基于plotly模塊實(shí)現(xiàn)的畫(huà)圖操作示例
這篇文章主要介紹了Python基于plotly模塊實(shí)現(xiàn)的畫(huà)圖操作,涉及Python基于plotly模塊的數(shù)值運(yùn)算與圖形操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-01-01四行Python3代碼實(shí)現(xiàn)圖片添加美顏效果
這篇文章主要為大家介紹了如何利用Python語(yǔ)言實(shí)現(xiàn)給圖片添加美顏效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2022-04-04Python中Parsel的兩種數(shù)據(jù)提取方式詳解
在網(wǎng)絡(luò)爬蟲(chóng)的世界中,數(shù)據(jù)提取是至關(guān)重要的一環(huán),Python 提供了許多強(qiáng)大的工具,其中之一就是 parsel 庫(kù),下面我們就來(lái)深入學(xué)習(xí)一下Parsel的兩種數(shù)據(jù)提取方式吧2023-12-12