天天看点

使用 python matplotlib 做简单的曲线图

1、软件版本

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

2、python环境

  • python+pycharm配置安装(其中python环境可以选择conda环境,也可以下载官方python包)
  • python路径查看(anaconda)
  • python环境激活(anaconda)

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()    #图片显示(重置画布为全白)

           
使用 python matplotlib 做简单的曲线图

4、参考内容

  • Python 把较长的一行代码分成多行的技巧(三种方法)
  • 中文乱码解决(三种方法)
  • Anaconda新建python环境的路径在哪
  • python 保存figure图片
  • Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
  • matplotlib设置中英文多种字体混合坐标轴名称(例程未使用,有精力的读者可以参考)

微信公众号:通信随笔XIDIAN

使用 python matplotlib 做简单的曲线图