使用python?matplotlib畫折線圖實例代碼
matplotlib簡介
matplotlib 是python最著名的繪圖庫,它提供了一整套和matlab相似的命令API,十分適合交互式地行制圖。而且也可以方便地將它作為繪圖控件,嵌入GUI應用程序中。
它的文檔相當完備,并且Gallery頁面中有上百幅縮略圖,打開之后都有源程序。因此如果你需要繪制某種類型的圖,只需要在這個頁面中瀏覽/復制/粘貼一下,基本上都能搞定。
在Linux下比較著名的數據圖工具還有gnuplot,這個是免費的,Python有一個包可以調用gnuplot,但是語法比較不習慣,而且畫圖質量不高。
而 Matplotlib則比較強:Matlab的語法、python語言、latex的畫圖質量(還可以使用內嵌的latex引擎繪制的數學公式)。
1、畫折線圖【一條示例】
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-'表示藍色實線,數據點實心原點標注 ## plot中參數的含義分別是橫軸值,縱軸值,線的形狀('s'方塊,'o'實心圓點,'*'五角星 ...,顏色,透明度,線的寬度和標簽 , plt.legend() #顯示上面的label plt.xlabel('time') #x_label plt.ylabel('number')#y_label #plt.ylim(-1,1)#僅設置y軸坐標范圍 plt.show()
運行,得到:
2、畫折線圖帶數據標簽
在畫線代碼之前加入這句代碼:
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加標簽數據
總體代碼如下:
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加標簽數據 plt.plot(x_axis_data, y_axis_data, 'b*--', alpha=0.5, linewidth=1, label='acc')#'bo-'表示藍色實線,數據點實心原點標注 ## plot中參數的含義分別是橫軸值,縱軸值,線的形狀('s'方塊,'o'實心圓點,'*'五角星 ...,顏色,透明度,線的寬度和標簽 , plt.legend() #顯示上面的label plt.xlabel('time') #x_label plt.ylabel('number')#y_label #plt.ylim(-1,1)#僅設置y軸坐標范圍 plt.show()
3、畫多條折線圖:
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] #畫圖 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)#僅設置y軸坐標范圍 plt.show()
運行,得到:
4、畫多條折線圖分別帶數據標簽:
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] #畫圖 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') ## 設置數據標簽位置及大小 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)#僅設置y軸坐標范圍 plt.show()
運行,得到:
附上形狀,可與顏色搭配:
‘s’ : 方塊狀
‘o’ : 實心圓
‘^’ : 正三角形
‘v’ : 反正三角形
‘+’ : 加好
‘*’ : 星號
‘x’ : x號
‘p’ : 五角星
‘1’ : 三腳架標記
‘2’ : 三腳架標記
總結
到此這篇關于使用python matplotlib畫折線圖的文章就介紹到這了,更多相關python matplotlib畫折線圖內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Pandas分組聚合之groupby()、agg()方法的使用教程
今天看到pandas的聚合函數agg,比較陌生,平時的工作中處理數據的時候使用的也比較少,為了加深印象,總結一下使用的方法,下面這篇文章主要給大家介紹了關于Pandas分組聚合之groupby()、agg()方法的使用教程,需要的朋友可以參考下2023-01-01ubuntu系統(tǒng)如何從python3.7升級到python3.8
這篇文章主要給大家介紹了關于ubuntu系統(tǒng)如何從python3.7升級到python3.8的相關資料,Python是一種廣泛使用的編程語言,而Ubuntu是一個流行的開源操作系統(tǒng),通過升級Python您可以獲得新功能、性能改進和安全修復,需要的朋友可以參考下2023-11-11Spring Boot中使用IntelliJ IDEA插件EasyCode一鍵生成代碼詳細方法
這篇文章主要介紹了Spring Boot中使用IntelliJ IDEA插件EasyCode一鍵生成代碼詳細方法,需要的朋友可以參考下2020-03-03