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

python matplotlib 画图刻度、图例等字体、字体大小、刻度密度、线条样式设置设置输出的图片大小:figsize=11,9figure,ax=plt.subplots(figsize=figsize)画简单的折线图,同时标注线的形状、名称、粗细:A,=plt.plot(x1,y1,’-r’,label=’A’,linewidth=5.0,ms=10)其中线条样式以及颜色设置可参考:https://blog….

大家好,又见面了,我是你们的朋友全栈君。

设置输出的图片大小:

 

figsize = 11,9
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的解释。

 

python matplotlib 画图刻度、图例等字体、字体大小、刻度密度、线条样式设置
一种比较简单的设置为:

 

font1 = {'family' : 'Times New Roman',
'weight' : 'normal',
'size'   : 23,
}

 

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

ax.xaxis.set_major_locator(MultipleLocator(10))

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

 

坐标轴刻度值属性设置:

 

plt.tick_params(labelsize=23)
labels = ax.get_xticklabels() + ax.get_yticklabels()
[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函数来设置属性。

 

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

 

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

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

 

有时候,因为调整了坐标刻度的字体大小,影响了坐标轴label的显示。所以我们需要通过调整坐标轴边距来显示label

plt.subplots_adjust(left = 0.15,bottom=0.128)

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

 

#--coding:utf-8--
import  matplotlib.pyplot as plt

#数据设置
x1 =[0,5000,10000, 15000, 20000, 25000, 30000, 35000, 40000, 45000, 50000, 55000];
y1=[0, 223, 488, 673, 870, 1027, 1193, 1407, 1609, 1791, 2113, 2388];

x2 =[0,5000,10000, 15000, 20000, 25000, 30000, 35000, 40000, 45000, 50000, 55000];
y2=[0, 214, 445, 627, 800, 956, 1090, 1281, 1489, 1625, 1896, 2151];

#设置输出的图片大小
figsize = 11,9
figure, ax = plt.subplots(figsize=figsize)

#在同一幅图片上画两条折线
A,=plt.plot(x1,y1,'-r',label='A',linewidth=5.0)
B,=plt.plot(x2,y2,'b-.',label='B',linewidth=5.0)

#设置图例并且设置图例的字体及大小
font1 = {'family' : 'Times New Roman',
'weight' : 'normal',
'size'   : 23,
}
legend = plt.legend(handles=[A,B],prop=font1)

#设置坐标刻度值的大小以及刻度值的字体
plt.tick_params(labelsize=23)
labels = ax.get_xticklabels() + ax.get_yticklabels()
[label.set_fontname('Times New Roman') for label in labels]

#设置横纵坐标的名称以及对应字体格式
font2 = {'family' : 'Times New Roman',
'weight' : 'normal',
'size'   : 30,
}
plt.xlabel('round',font2)
plt.ylabel('value',font2)

#将文件保存至文件中并且画出图
plt.savefig('figure.eps')
plt.show()

 

 

 

 

 

 

 

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131934.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • dpkg安装软件流程_DPKG命令与软件安装、APT[通俗易懂]

    dpkg安装软件流程_DPKG命令与软件安装、APT[通俗易懂]====Linux软件包====Linux系统中,软件通常以源代码或者预编译包的形式提供。软件的源代码通常需要编译为二进制代码才可使用,安装比较耗时。用户可以自行调节编译选项,决定需要的功能或组件,或者针对硬件平台作一些优化预编译包通常由软件发布者进行编译,用户只要将预编译包拷贝到系统中即可。考虑到预编译包的通用性,预编译包一般不会针对某种硬件平台优化,所包含的功能和组件也是通用的组合。ubunt…

    2022年5月21日
    91
  • STM32CubeMX学习–(5)SPI读写W25Q128

    CUBE配置SPI配置引脚配置参数配置点击生成代码代码修改 uint8_tData1[4]={0x90,0x00,0x00,0x00}; uint8_tData2[2]={0x00,0x00}; uint8_tRxData[2]={0x00,0x00};/****************************/while(1){ HAL_GP…

    2022年4月13日
    199
  • Linux内核分析及内核编程[通俗易懂]

    Linux内核分析及内核编程[通俗易懂]倪继利著2005年8月出版ISBN7-121-01518-5900页88.00元(估价)倪 倪继利著2005年8月出版ISBN7-121-01518-5900页88.00元(估价)倪 内容简介  本书作者在整理自己多年研发笔记的基础上,以精心挑选的典型开发实例向读者详细地讲述了内核源代码的各部分结构、原理及组成框架,主要分析了Linux最新版本(2.6.11)的内核源代码,帮助读者深入

    2022年10月8日
    3
  • 纯HTML个人简历模板代码

    纯HTML个人简历模板代码<html><bodybackground=http://p1.so.qhmsg.com/t01ed5a885549b6bf3b.jpg><tableborder=”1″align=”center”cellpadding=”10″width=”800″><tr><thcolspan=”7″bgcolor=”B…

    2025年9月30日
    2
  • bacitracin_bababadalgharaghtakamminarronn

    bacitracin_bababadalgharaghtakamminarronn
     BalunTransformers
     ABalunisadevicewhichconverts balancedimpedanceto unbalancedandviceversa.Inaddition,balunscanalsoprovideimpedancetransformation,hencethenameBalunTransformers.
    Thefollowingsectionsdescribethep

    2025年8月11日
    4
  • java指令重排_jvm指令重排

    java指令重排_jvm指令重排引言:在Java中看似顺序的代码在JVM中,可能会出现编译器或者CPU对这些操作指令进行了重新排序;在特定情况下,指令重排将会给我们的程序带来不确定的结果…..1.什么是指令重排?在计算机执行指令的顺序在经过程序编译器编译之后形成的指令序列,一般而言,这个指令序列是会输出确定的结果;以确保每一次的执行都有确定的结果。但是,一般情况下,CPU和编译器为了提升程序执行的效率,会按照一定的规则允…

    2022年10月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号