python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式

 更新时间:2020年05月16日 10:42:26   作者:Poul_henry  
这篇文章主要介绍了python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

用matplotlib画二维图像时,默认情况下的横坐标和纵坐标显示的值有时达不到自己的需求,需要借助xticks()和yticks()分别对横坐标x-axis和纵坐标y-axis进行设置。

import numpy as np
import matplotlib.pyplot as plt
x = range(1,13,1)
y = range(1,13,1)
plt.plot(x,y)
plt.show()

x坐标和y坐标都表示1到12的整数,不进行坐标设置时,执行效果为:

此时的x轴和y轴都是只显示偶数,其它的奇数未显示,这样在展示实验效果或放入文章中都会影响其可读性。

为了设置坐标轴的值,增加其可读性,有多种方法。这里介绍的是matplotlib的函数xticks()和yticks()。

参考文档:xticks()函数介绍 yticks()函数介绍

xticks()中有3个参数:

xticks(locs, [labels], **kwargs) # Set locations and labels

locs参数为数组参数(array_like, optional),表示x-axis的刻度线显示标注的地方,即ticks放置的地方,上述例子中,如果希望显示1到12所有的整数,就可以将locs参数设置为range(1,13,1),第二个参数也为数组参数(array_like, optional),可以不添加该参数,表示在locs数组表示的位置添加的标签,labels不赋值,在这些位置添加的数值即为locs数组中的数。

如下图

import numpy as np
import matplotlib.pyplot as plt
x = range(1,13,1)
y = range(1,13,1)
plt.plot(x,y)
plt.xticks(x)
plt.show()

xticks()函数中,locs参数为数组x,即1到12所有的整数, 即画出的图像会在这12个位置画出ticks,即上图中的刻度线。

当赋予labels的值为空时,则在locs决定的位置上虽然会画出ticks,但不会显示任何值。

import numpy as np
import matplotlib.pyplot as plt
x = range(1,13,1)
y = range(1,13,1)
plt.plot(x,y)
plt.xticks(x,())
plt.show()

其效果为:

该例子中,会明显看到locs和labels的关系,locs表示位置,labels决定这些位置上的标签,labels的默认值为和locs相同。

所以,对于labels参数,我们可以赋予其任意其它的值,如人名,月份等等。

import numpy as np
import matplotlib.pyplot as plt
x = range(1,13,1)
y = range(1,13,1)
plt.plot(x,y)
plt.xticks(x, ('Tom','Dick','Harry','Sally','Sue','Lily','Ava','Isla','Rose','Jack','Leo','Charlie'))
plt.show()

在每个标签会依次显示labels中的人名:

还可以显示月份:

import numpy as np
import matplotlib.pyplot as plt
import calendar
x = range(1,13,1)
y = range(1,13,1)
plt.plot(x,y)
plt.xticks(x, calendar.month_name[1:13],color='blue',rotation=60)
plt.show()

显示效果为:

这里添加了 calendar 模块,用于显示月份的名称。calendar.month_name[1:13]即1月份到12月份每个月份的名称的数组。后面的参数color='blue'表示将标签颜色置为蓝色,rotation表示标签逆时针旋转60度。

通过上个示例,可看出第3个参数关键字参数**kwargs用于控制labels,具体可通过Text属性中的定义,添加到该参数中,关于其定义可参考在 Text 查询。

另外,通过第1个参数locs可以看出,xticks()函数还可以用来设置使x轴上ticks隐藏,即将空数组赋予它,则没有tick会显示在x轴上,此处参考:x轴数值隐藏

import numpy as np
import matplotlib.pyplot as plt
import calendar
x = range(1,13,1)
y = range(1,13,1)
plt.plot(x,y)
plt.xticks([])
plt.show()

可看出x轴上没有tick显示:

同理,对于yticks()函数定义和xticks()函数定义完全相同。对于第一个例子,如果希望在y轴上的刻度线也显示1到12所有的整数,则将lens(1,13,1)赋予yticks()的locs参数即可:

import numpy as np
import matplotlib.pyplot as plt
import calendar
x = range(1,13,1)
y = range(1,13,1)
plt.plot(x,y)
plt.xticks(x)
plt.yticks(y)
plt.show()

其效果为:

综上,可以设计一个x轴为月份,y为星期的图像:

import numpy as np
import matplotlib.pyplot as plt
import calendar
from datetime import *
x = range(1,13,1)
y = range(1,13,1)
plt.plot(x,y)
plt.xticks(x, calendar.month_name[1:13],color='blue',rotation=60)
today = datetime(2018, 9, 10)
a=[]
for i in range(12):
 a.append(calendar.day_name[today.weekday()+(i%7)])
plt.yticks(y,a,color='red')
plt.show()

对应一月份选择星期一,二月份选择星期二,往后依次类推,直至将12个月安排完。

以上这篇python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python3 tkinter 实现文件读取及保存功能

    Python3 tkinter 实现文件读取及保存功能

    tkinter是一个跨平台的GUI库,开发的程序可以在win,linux或者mac下运行,tkinter是python自带的GUI库,是对图形库TK的封装。本文通过实例代码给大家介绍Python3 tkinter 实现文件读取及保存功能,感兴趣的朋友跟随小编一起看看吧
    2019-09-09
  • Python数组拼接np.concatenate实现过程

    Python数组拼接np.concatenate实现过程

    这篇文章主要介绍了Python数组拼接np.concatenate实现过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Python异常处理与反射相关问题总结

    Python异常处理与反射相关问题总结

    今天给大家带来的是关于Python的相关知识,文章围绕着Python异常处理与反射展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Python/MySQL实现Excel文件自动处理数据功能

    Python/MySQL实现Excel文件自动处理数据功能

    在没有服务器存储数据,只有excel文件的情况下,如何利用SQL和python实现数据分析和数据自动处理的功能?本文就来和大家聊聊解决办法
    2023-02-02
  • CentOS6.5设置Django开发环境

    CentOS6.5设置Django开发环境

    这篇文章主要为大家详细介绍了CentOS6.5设置Django开发环境,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • 在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法

    在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法

    今天小编就为大家分享一篇在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Python入门教程(四十三)Python的NumPy数据类型

    Python入门教程(四十三)Python的NumPy数据类型

    这篇文章主要介绍了Python入门教程(四十二)Python的NumPy数组裁切,NumPy有一些额外的数据类型,并通过一个字符引用数据类型,例如 i 代表整数,u 代表无符号整数等,需要的朋友可以参考下
    2023-05-05
  • 初识python的numpy模块

    初识python的numpy模块

    这篇文章主要介绍了初识python的numpy模块,Numpy基于更加现代化的编程语言--python,python凭借着开源、免费、灵活性、简单易学、工程特性好等特点风靡技术圈,已经成为机器学习、数据分析等领域的主流编程语言,需要的朋友可以参考下
    2022-05-05
  • 深入了解Python Opencv数据增强

    深入了解Python Opencv数据增强

    常见的数据增强操作有:按比例放大或缩小图片、旋转、平移、水平翻转、改变图像通道等。本文将通过Python OpenCV实现这些操作,需要的可以参考一下
    2022-02-02
  • python正则表达式之作业计算器

    python正则表达式之作业计算器

    这篇文章主要为大家详细介绍了python正则表达式之作业计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们
    2016-03-03

最新评论