打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python matplotlib 画图刻度、图例等字体、字体大小、刻度密度、线条样式设置

设置输出的图片大小:

 

  1. figsize = 11,9
  2. figure, ax = plt.subplots(figsize=figsize)

 

 

 

画简单的折线图,同时标注线的形状、名称、粗细:

 

A,=plt.plot(x1,y1,'-r',label='A',linewidth=5.0,ms=10)

 

其中线条样式以及颜色设置可参考:https://blog.csdn.net/code_segment/article/details/79217700,个人觉得介绍非常详尽。

线条粗细使用linewidth设置,对应线条上的marker大小设置为ms参数。因为有时候粗线条,所以对应marker大小也需要增加。

如果想要标记marker为空心,可以在后面加上 markerfacecolor='none'

 

设置图例以及对应属性:

 

legend = plt.legend(handles=[A,B],prop=font1)

图例的字体格式在prop中进行设置,赋值font1可以是一个字典,包含各个属性及其对应值,属性包括family(字体)、size(字体大小)等常用属性,更详细的解释可参考matplotlib手册中关于legend prop的解释。

 


一种比较简单的设置为:

 

  1. font1 = {'family' : 'Times New Roman',
  2. 'weight' : 'normal',
  3. 'size' : 23,
  4. }

 

坐标轴刻度密度/间隔设置:

ax.xaxis.set_major_locator(MultipleLocator(10))

括号中的数字为对应的刻度间隔值,y轴对应类似。

 

坐标轴刻度值属性设置:

 

  1. plt.tick_params(labelsize=23)
  2. labels = ax.get_xticklabels() + ax.get_yticklabels()
  3. [label.set_fontname('Times New Roman') for label in labels]

其中tick_params中可设置一系列属性,包括刻度值字体大小、方向、大小,颜色等一系列属性,具体可参见手册中关于tick_params的解释。

 

比较特殊的是,其中并没有对刻度值的字体进行设置的属性,所以我们需要使用下面两行进行设置,在最初使用plt.subplots中有得到一个返回值ax,我们使用ax.get_xticklabels()以及ax.get_yticklabels()来得到所有的刻度值,并使用set_fontname函数来设置属性。

 

坐标轴名称以及对应字体属性设置:

 

  1. plt.xlabel('round',font2)
  2. plt.ylabel('value',font2)

这种比较简单,第一个参数为坐标轴名称,第二个参数也是一个字典参数,和上文提及的dict font1格式相同。

 

 

下面我们给出一个比较简单的画图过程:

 

  1. #--coding:utf-8--
  2. import matplotlib.pyplot as plt
  3. #数据设置
  4. x1 =[0,5000,10000, 15000, 20000, 25000, 30000, 35000, 40000, 45000, 50000, 55000];
  5. y1=[0, 223, 488, 673, 870, 1027, 1193, 1407, 1609, 1791, 2113, 2388];
  6. x2 =[0,5000,10000, 15000, 20000, 25000, 30000, 35000, 40000, 45000, 50000, 55000];
  7. y2=[0, 214, 445, 627, 800, 956, 1090, 1281, 1489, 1625, 1896, 2151];
  8. #设置输出的图片大小
  9. figsize = 11,9
  10. figure, ax = plt.subplots(figsize=figsize)
  11. #在同一幅图片上画两条折线
  12. A,=plt.plot(x1,y1,'-r',label='A',linewidth=5.0)
  13. B,=plt.plot(x2,y2,'b-.',label='B',linewidth=5.0)
  14. #设置图例并且设置图例的字体及大小
  15. font1 = {'family' : 'Times New Roman',
  16. 'weight' : 'normal',
  17. 'size' : 23,
  18. }
  19. legend = plt.legend(handles=[A,B],prop=font1)
  20. #设置坐标刻度值的大小以及刻度值的字体
  21. plt.tick_params(labelsize=23)
  22. labels = ax.get_xticklabels() + ax.get_yticklabels()
  23. [label.set_fontname('Times New Roman') for label in labels]
  24. #设置横纵坐标的名称以及对应字体格式
  25. font2 = {'family' : 'Times New Roman',
  26. 'weight' : 'normal',
  27. 'size' : 30,
  28. }
  29. plt.xlabel('round',font2)
  30. plt.ylabel('value',font2)
  31. #将文件保存至文件中并且画出图
  32. plt.savefig('figure.eps')
  33. plt.show()

 

 

 

 

 

 

 

最终生成的图片效果如下:


 

更多的画图代码参考也可见手册中的Examples using matplotlib.pyplot.plot,可以翻到超链接跳转页面的最下方,有很多画图的示例,点进去即为对应实现代码。可以找到适用的代码实现方式。pyplot.subplots下也有很多很好的示例!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Matplotlib画图之调整字体大小
【Matplotlib】绘图常见设置说明
python如何设置中文界面
利用Python进行数据分析 绘图和可视化(八)
画出这张官方神图,你的Matplotlib就毕业了!
matplotlib绘图教程,设置标签与图例
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服