matplotlib设置坐标轴标签和间距的实现

 更新时间:2021年10月27日 11:27:37   作者:Coder梁  
本文主要介绍了matplotlib设置坐标轴标签和间距的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

我们今天继续matplotlib作图教程。

在上周的文章当中我们介绍了如何通过xlabel和ylabel设置坐标轴的名称,以及这两个函数的花式设置方法,可以设置出各种各样的名称显示方法。今天我们来介绍介绍其他的设置。

xlim、ylim

我们首先来介绍坐标轴的范围,坐标轴的范围很好理解,有的时候我们产出的数据的范围可能并不是完全我们想要的。如果我们不对坐标轴的范围进行设置的话,那么matplotlib默认会按照我们数据的范围来自动选择它认为最合适的区间来展示所有的数据。

举一个很简单的例子,假设我们想要在-10到10的区间里画一张抛物线的图像。这个图像的绘制方法我想大家应该都已经非常熟悉了:

由于x的范围是-10到10,那么y对应的范围应该就是[0, 100]。这些应该都不难理解,但是假如我们虽然数据非常全面是[-10, 10]这个范围内的,但是我们仅仅想要展示[-3, 3]这个区间,那应该怎么办?这个时候我们就可以使用xlim这个函数来设置x轴的范围,但是需要注意的是,我们在调用xlim的时候只是限制了x轴的结果,并没有限制y轴。所以画出来y轴的范围还是之前数据的范围,这样看起来会显得有一点奇怪,图像会是这样的:

解决的办法也很简单,就是再设置ylim的范围,将ylim的范围也设置到刚好可以比较合适地展示数据。比如在这个例子当中,ylim设置成[0, 30]或者是[-5, 25]都非常合适。

关于xlim和ylim官方还提供一些其他的参数,大家感兴趣可以查阅相关文档,建议大家没必要浪费这个时间,因为实在是用不到。甚至连用到xlim和ylim的情况都不多。

xticks、yticks

如果说前面xlim和ylim看起来有一种好像有点用,但是又不知道什么时候能用上的话,那么这一段要介绍的xtick和ytick就属于非常有用,不容错过的那种。这也不是我吹,因为和这两个函数比起来前面介绍的xlim和ylim真的就只是个弟弟。

xlim能够设置的基本上只有坐标轴的范围,而xticks和yticks既可以设置范围也可以设置每个刻度之间的间距。还用刚才抛物线的例子举例,在刚才的例子当中,我们x轴的范围是[-10, 10]。在默认的图像当中,系统帮我们选择的间距是2.5,即每隔2.5画一个坐标点,一共画8个。

而通过xticks我们可以自己设置坐标点的间隔以及数量,比如假设我们想要x轴每间隔5画一个坐标点,我们可以这么来设置:

我们直接在xticks当中放入了一个list,最后我们画出来的图像的x轴就是根据这个list进行划分的。也就是说我们不仅可以定义坐标轴的范围,还可以定义它的间隔。有的时候,自动绘制出来的图像的范围以及间隔可能没有那么好,需要我们进行调整,这时候就需要用到xticks和yticks函数了。

除了设置间隔和范围之外,xticks还可以设置标签以及标签的旋转角度。我们同样来看一个例子,在这个例子当中,我们会把上图当中x轴的数字转成英文单词,并且将这些单词旋转30度。

我们生活当中经常看到的一种图表就是某公司的业绩销售表,或者是增长曲线表。这种表都有一个特点,就是它的x轴是月份,这样我们就可以很清楚地看到每个月的销售数据,可以对未来进行预期以及指引。在没有学会xticks函数用法之前,可能会觉得这是非常不容易的一件事,但有了xticks之后其实非常地简单:

现在如果老板让你去做一张月度数据报表,你应该知道怎么做了吧?可以不用再用Excel了,用matplotlib几行代码就搞定了。这也是现在各大培训班广告里吹嘘的内容,你看我已经免费教给你了。

总结

我们简单回顾一下今天介绍的内容,一个是用来限制坐标轴范围的xlim和ylim,另外一个是可以自定义整个坐标轴间隔以及范围,甚至还可以更换名称的xticks、yticks。从表面上来看xlim能做的事情xticks也都可以实现,但实际上这两者的应用场景其实是不同的,xlim的使用场景是当我们想要放大或者缩小图像的时候,使用xlim只需要传入上下界,而如果使用xticks则还需要指定间隔、生成一个list才可以,其实是有些冗余的操作。

所以这两者的应用有重叠的部分,但是应用场景其实还是不一样的。当然如果你想要偷懒只想学一个的话,那么xticks的确已经足够了。

相关文章

  • Python类继承和多态原理解析

    Python类继承和多态原理解析

    这篇文章主要介绍了python类继承和多态原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • python入门for循环嵌套理解学习

    python入门for循环嵌套理解学习

    这篇文章主要介绍了python入门关于for循环嵌套的理解学习,希望大家可以学会并运用到日常工作中,有需要的朋友可以借鉴参考下,希望能够有帮助
    2021-09-09
  • Django中的CBV和FBV示例介绍

    Django中的CBV和FBV示例介绍

    这篇文章主要给大家介绍了关于Django中CBV和FBV的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-02-02
  • python实现linux服务器批量修改密码并生成execl

    python实现linux服务器批量修改密码并生成execl

    这篇文章主要介绍了python实现linux服务器批量修改密码并生成execl示例,需要的朋友可以参考下
    2014-04-04
  • python Tornado事件循环示例源码解析

    python Tornado事件循环示例源码解析

    这篇文章主要为大家介绍了python Tornado事件循环示例源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • python 模块重载的五种方法

    python 模块重载的五种方法

    这篇文章主要介绍了python 模块重载的五种方法,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • python 引用传递和值传递详解(实参,形参)

    python 引用传递和值传递详解(实参,形参)

    这篇文章主要介绍了python 引用传递和值传递详解(实参,形参)。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 使用IPython来操作Docker容器的入门指引

    使用IPython来操作Docker容器的入门指引

    这篇文章主要介绍了使用IPython来操作Docker容器的方法,包括一些基本的搭建和连接,主要依靠docker-py模块,需要的朋友可以参考下
    2015-04-04
  • 分享一下如何编写高效且优雅的 Python 代码

    分享一下如何编写高效且优雅的 Python 代码

    这篇文章主要介绍了分享一下如何编写高效且优雅的 Python 代码,需要的朋友可以参考下
    2017-09-09
  • 详解Python3 pandas.merge用法

    详解Python3 pandas.merge用法

    pandas提供了一组高级的、灵活的、高效的核心函数,能够轻松的将数据规整化。这节主要对pandas合并数据集的merge函数进行详解,感兴趣的朋友跟随小编一起看看吧
    2019-09-09

最新评论