当前位置: 首页 > news >正文

matplotlib设置x轴和y轴 设置

1.x轴,y轴命令如下

plt.xlabel('年份')
plt.ylabel('万元')

通过设置label, 可以清楚的让用户知道x轴上的刻度代表什么,是什么单位。

如果不对x,y轴的刻度进行设置,matplotlib默认根据plot传入的数组设置x,y轴的刻度,这包括取值范围和刻度上显示的值。

2. xlim 和 ylim 设置刻度范围

 上图是本系列教程第一篇所使用的线图,y轴上最大的数值大约是24, 线图的最高点接近上边框,我们可以使用ylim方法来设置y轴的最小值和最大值

import matplotlib
from matplotlib import pyplot as plt

matplotlib.rcParams['font.family'] = 'SimHei'

data = [{'年份': 2016, '收入': 14.5},
        {'年份': 2017, '收入': 15.6},
        {'年份': 2018, '收入': 17.9},
        {'年份': 2019, '收入': 23.4},
        {'年份': 2020, '收入': 18.6}
        ]

year = [str(item['年份']) for item in data]
income = [item['收入'] for item in data]

plt.ylim(0, 30)     # 设置y轴刻度范围

plt.plot(year, income, color='green', marker='o', linestyle='solid')
plt.title('收入情况')
plt.xlabel('年份')
plt.ylabel('万元')
plt.show()

 仅仅增加了一行代码,就改变了y轴的刻度范围。同时也可以设置x轴的刻度范围,将刻度范围设置为2015到2021

year = [item['年份'] for item in data]
income = [item['收入'] for item in data]

plt.ylim(0, 30)     # 设置y轴刻度范围
plt.xlim(2015, 2021)

 x轴的刻度范围设置为2015,到2021, 那么year列表里的数值都应该是数字类型,之前我都转了str, 这样会起冲突,在这个例子中,去掉了str函数。如果不设置x轴的刻度,year列表又是数值型,则绘画出来x轴刻度都是浮点型,因此才会在之前的例子里转为str。效果图如下

 

 

3. xticks和yticks设置刻度值

确定了x,y轴的刻度范围,接下来设置具体显示的刻度值,在前面的示例中,y轴的刻度范围是0到30,每5个单位在y轴上设置一个刻度值,我希望能更密集详细一点的设置刻度值,就可以使用yticks方法

import matplotlib
import numpy as np
from matplotlib import pyplot as plt

matplotlib.rcParams['font.family'] = 'SimHei'

data = [{'年份': 2016, '收入': 14.5},
        {'年份': 2017, '收入': 15.6},
        {'年份': 2018, '收入': 17.9},
        {'年份': 2019, '收入': 23.4},
        {'年份': 2020, '收入': 18.6}
        ]

year = [item['年份'] for item in data]
income = [item['收入'] for item in data]

plt.ylim(0, 30)     # 设置y轴刻度范围
plt.xlim(2015, 2021)
plt.yticks(np.linspace(0, 30, 11))      # 每3个单位画一个刻度值

plt.plot(year, income, color='green', marker='o', linestyle='solid')
plt.title('收入情况')
plt.xlabel('年份')
plt.ylabel('万元')
plt.show()

np.linspace(0, 30, 11) 的作用是生成一个包含11个元素的数组,这11个元素是从0到30的等差数列。

对于x轴,可以使用xticks方法设置刻度,上面的代码增加一行设置x轴刻度

plt.xticks(year, [str(item)+'年' for item in year])

 xlim 的作用是设置刻度的范围,如果不使用xticks方法,则会根据year的数值集合刻度范围来绘制x轴,一旦使用了xticks方法,则完全根据该方法里设置的刻度值进行绘制。

 

完毕!!!!

欢迎点赞、收藏、加关注

参考:

第2讲,matplotlib设置x轴和y轴 | 酷python (coolpython.net)

 

相关文章:

  • MiniFly V1.1开源四轴驱动代码分析八:旋转矩阵、控制分配矩阵等分析介绍
  • 【云原生 | 从零开始学Kubernetes】二十五、kubectl深入理解
  • 策略模式的java实现-实际应用场景进阶版
  • [计算机通信网络]以太网的帧格式详解
  • [图像识别]10.OpenCV的特征点检测 SIFT和SURF算法
  • 牛客网专项练习30天Pytnon篇第02天
  • Controller部分
  • Lambda表达式与Stream API
  • Python语言程序设计 习题5
  • 分享制作Docker镜像的两种方式
  • MySQL表的约束
  • Axios源码仿写与二次封装
  • PHP学习笔记(才贯二酉)
  • 基于Springboot+vue的电影院管理系统(Java毕业设计)
  • 沉睡者IT - 闪剪AI数字人助你快速占领流量市
  • 《Java编程思想》读书笔记-对象导论
  • CentOS从零开始部署Nodejs项目
  • CSS 提示工具(Tooltip)
  • Gradle 5.0 正式版发布
  • Hexo+码云+git快速搭建免费的静态Blog
  • JavaScript设计模式之工厂模式
  • js操作时间(持续更新)
  • learning koa2.x
  • LeetCode29.两数相除 JavaScript
  • Mithril.js 入门介绍
  • MySQL QA
  • Promise初体验
  • Promise面试题2实现异步串行执行
  • SpriteKit 技巧之添加背景图片
  • Web标准制定过程
  • 高程读书笔记 第六章 面向对象程序设计
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 力扣(LeetCode)22
  • 删除表内多余的重复数据
  • 手写一个CommonJS打包工具(一)
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​​​​​​​​​​​​​​Γ函数
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​香农与信息论三大定律
  • #{} 和 ${}区别
  • #NOIP 2014#Day.2 T3 解方程
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (分布式缓存)Redis分片集群
  • (四)汇编语言——简单程序
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (转)为C# Windows服务添加安装程序
  • **python多态
  • .Net - 类的介绍
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .NET 8.0 中有哪些新的变化?
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET Core 中的路径问题
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .NET/C# 使用 SpanT 为字符串处理提升性能