linux下配置环境

安装库:
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib
下载thinker模块:
sudo apt-get install tcl-dev tk-dev python3-tk


一个简单的例子

  1. import matplotlib.pyplot as plt
  2. fig = plt.figure(figsize=(40,30), dpi=80)
  3. # 创建一个长40 高30 每平方英寸80像素的图像
  4. x = range(2, 26, 2) # 2到26每2个取一个
  5. y = [1,5,3,5,8,5,6,8,7,2,3,8]
  6. plt.plot(x, y) # 绘制点
  7. plt.xticks([0,4,8,12,16,20,24,28]) # 设置x坐标轴
  8. plt.yticks(range(min(y), max(y)+1)) # 设置y坐标轴
  9. plt.savefig('test.svg') # 保存为png或svg(不会失真)
  10. plt.show() #显示

image.png


图形显示

中文显示的问题

查看中文字体

linux/mac下
fc-list查看所有字体
fc-list :lang=zh查看所有中文字体(冒号前有空格)

  1. font = {
  2. 'family': 'MicroSoft YaHei',
  3. 'weight': 'bold',
  4. 'size': 'larger'
  5. }
  6. plt.rc("font", **font)
  7. # 或者直接
  8. plt.rc("font", family="MicroSoft YaHei")
  9. # 又或者定义自己的font 在后面xticks传
  10. from matplotlib import font_manager
  11. my_font = font_manager.FontProperties(fname='/usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc')
  12. plt.legend(prop=zhfont1)
  13. plt.savefig('fit.jpg')
  14. plt.show()

中文太长?设置旋转角度

当然一定要注意 步长和字符一一对应
image.png

不是数字如何设置步长?

plt.yticks([-2, -1.8, -1, 1.22, 3],
[‘really bad’, ‘bad’, ‘normal’, ‘good’, ‘really good’])


图形信息显示

横纵坐标的标注,图像的标题
image.png
绘制网格,透明度
plt.grid(alpha=0.8)
添加图例,去legend的源码里面看有那些,upper left 是左上角
image.png