使用 python matplotlib 做簡單的曲線圖

1、軟件版本

  • anaconda python3.7.3
  • pycharm 2019.2.3 學生教育版

2、python環境

3、代碼示例說明

#導入需要使用的庫
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.font_manager as fm
from matplotlib.ticker import FuncFormatter
#全局字體設置
#myfont = fm.FontProperties(fname=r'C:\Users\Hxc84\Desktop\R\font\simsun.ttf') #導入自定義字體(這裏不做使用)
plt.rcParams['font.sans-serif'] = ['Simsun'] #用來正常顯示中文標籤
plt.rcParams['axes.unicode_minus'] = False #用來正常顯示負號
#變量設置
snr = np.array([-3, -1, 1, 3, 5, 7, 9, 11])
timing1 = np.array([98.66, 99.49, 99.84, 99.97, 99.97, 99.98, 100, 100])/100
timing2 = np.array([99.62, 99.82, 99.97, 100, 99.99, 100, 100, 100])/100
timing3 = np.array([99.62, 99.87, 99.95, 99.98, 100, 100, 100, 100])/100
timing4 = np.array([99.61, 99.88, 99.92, 99.98, 100, 100, 100, 100])/100
timing5 = np.array([99.61, 99.88, 99.92, 99.98, 100, 100, 100, 100])/100
#繪圖設置
plt.plot(snr, timing1, 'rs-', snr, timing2, 'kx-', snr, timing3, 'k+-', /
snr, timing4, 'ko-', snr, timing5, 'k*-')    #曲線設局設置,顏色+點型+線型設置
plt.xlabel('SNR/dB', fontproperties='times new roman', size=12)    #橫座標標題設置,字體、字號設置
plt.ylabel('定時正確率', size=12)    #縱座標標題設置,字號設置
plt.xlim(-3, 11)    #橫座標軸顯示範圍設置(縱座標類似)
plt.xticks(snr, fontproperties='times new roman', size=10)    #橫座標軸輸出圖片中顯示的橫座標設置,字體、字號設置
plt.yticks(fontproperties='times new roman', size=10)    #縱座標軸字體、字號設置

def to_percent(temp, position):
    return '%1.2f'%(100*temp) + '%'
plt.gca().yaxis.set_major_formatter(FuncFormatter(to_percent))    #縱座標軸顯示百分數

plt.legend(labels=['浮點', '定點二十', '定點廿四', '定點廿八', '定點卅二'])    #圖例設置
plt.grid(True)    #網格顯示控制
plt.savefig('timing', dpi=96)    #圖片保存(默認png),dpi(每英寸像素點數設置)
plt.show()    #圖片顯示(重置畫布爲全白)

在這裏插入圖片描述

4、參考內容

微信公衆號:通信隨筆XIDIAN

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章