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


Posted in Python onMay 16, 2020

用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的整数,不进行坐标设置时,执行效果为:

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

此时的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()

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

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()

其效果为:

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

该例子中,会明显看到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中的人名:

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

还可以显示月份:

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()

显示效果为:

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

这里添加了 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显示:

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

同理,对于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()

其效果为:

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

综上,可以设计一个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()

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

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

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

Python 相关文章推荐
Python中使用hashlib模块处理算法的教程
Apr 28 Python
python转换字符串为摩尔斯电码的方法
Jul 06 Python
Windows下Eclipse+PyDev配置Python+PyQt4开发环境
May 17 Python
python3批量删除豆瓣分组下的好友的实现代码
Jun 07 Python
Django JWT Token RestfulAPI用户认证详解
Jan 23 Python
python使用wxpy实现微信消息防撤回脚本
Apr 29 Python
使用Fabric自动化部署Django项目的实现
Sep 27 Python
ubuntu上安装python的实例方法
Sep 30 Python
Python 一行代码能实现丧心病狂的功能
Jan 18 Python
使用 Python 处理3万多条数据只要几秒钟
Jan 19 Python
关于tf.TFRecordReader()函数的用法解析
Feb 17 Python
python Plotly绘图工具的简单使用
Mar 03 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
May 16 #Python
Python验证码截取识别代码实例
May 16 #Python
基于plt.title无法显示中文的快速解决
May 16 #Python
基于python生成英文版词云图代码实例
May 16 #Python
解决Python数据可视化中文部分显示方块问题
May 16 #Python
Python使用Excel将数据写入多个sheet
May 16 #Python
python小程序之4名牌手洗牌发牌问题解析
May 15 #Python
You might like
php接口和抽象类使用示例详解
2014/03/02 PHP
PHP中检索字符串的方法分析【strstr与substr_count方法】
2017/02/17 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
五个jQuery图片画廊插件 推荐
2011/05/12 Javascript
判断ie的两种简单方法
2013/08/12 Javascript
基于BootStrap Metronic开发框架经验小结【一】框架总览及菜单模块的处理
2016/05/12 Javascript
基于BootStrap Metronic开发框架经验小结【六】对话框及提示框的处理和优化
2016/05/12 Javascript
AngularJS实现按钮提示与点击变色效果
2016/09/07 Javascript
获取select的value、text值的简单示例(jquery与javascript)
2016/12/07 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
2018/03/15 Javascript
JavaScript数据结构之栈实例用法
2019/01/18 Javascript
Vue实现点击按钮复制文本内容的例子
2019/11/09 Javascript
[03:04]DOTA2超级联赛专访ZSMJ “莫名其妙”的逆袭
2013/05/23 DOTA
[43:36]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python的Urllib库的基本使用教程
2015/04/30 Python
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
pandas 实现字典转换成DataFrame的方法
2018/07/04 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
2018/08/30 Python
使用Python实现企业微信的自动打卡功能
2019/04/30 Python
python实现websocket的客户端压力测试
2019/06/25 Python
关于python3中setup.py小概念解析
2019/08/22 Python
python用类实现文章敏感词的过滤方法示例
2019/10/27 Python
Python输出指定字符串的方法
2020/02/06 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
python属于软件吗
2020/06/18 Python
python中os.remove()用法及注意事项
2021/01/31 Python
CSS3的 fit-content实现水平居中
2017/09/07 HTML / CSS
OPPO手机官方商城:中国手机市场出货量第一品牌
2017/10/18 全球购物
美国按摩椅批发网站:Titan Chair
2018/12/27 全球购物
英国计算机商店:Technextday
2019/12/28 全球购物
泰国排名第一的家居用品中心:HomePro
2020/11/18 全球购物
财政专业求职信范文
2014/02/19 职场文书
蛋糕店创业计划书
2014/05/06 职场文书
百家讲坛观后感
2015/06/12 职场文书
mysql定时自动备份数据库的方法步骤
2021/07/07 MySQL
SpringCloud Feign请求头删除修改的操作代码
2022/03/20 Java/Android