程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

使用python代碼畫折線圖【matplotlib】

編輯:Python

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’ : 三腳架標記


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved