python matplotlib画图时坐标轴重叠显示不全和图片保存时不完整的问题解决
作者:每天都想躺平的大喵 发布时间:2023-12-11 03:42:42
标签:matplotlib,坐标轴,重叠
问题
在使用matplotlib
作图的时候,有的时候会遇到画图时坐标轴重叠,显示不全和图片保存时不完整的问题。如下:
解决方案
画图时重叠或者显示不全的问题
画图时加上参数设置
tight_layout=True
画完所有子图后,设置
plt.tight_layout()
# 加上tight_layout=True 参数设置
fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(12,6), tight_layout=True)
labels = ['2022-{}-01'.format(str(i).zfill(2)) for i in range(1,13)]
y1 = np.random.randint(low=1, high=10, size=12)
y2 = np.random.randint(low=1, high=10, size=12)
axes[0].bar(labels, y1)
axes[0].set_xticks(labels)
axes[0].set_xticklabels(labels, rotation=75)
axes[1].bar(labels, y2)
axes[1].set_xticks(labels)
axes[1].set_xticklabels(labels, rotation=75)
plt.savefig('test.png', dpi=200)
fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(12,6))
labels = ['2022-{}-01'.format(str(i).zfill(2)) for i in range(1,13)]
y1 = np.random.randint(low=1, high=10, size=12)
y2 = np.random.randint(low=1, high=10, size=12)
axes[0].bar(labels, y1)
axes[0].set_xticks(labels)
axes[0].set_xticklabels(labels, rotation=75)
axes[1].bar(labels, y2)
axes[1].set_xticks(labels)
axes[1].set_xticklabels(labels, rotation=75)
plt.tight_layout()
# 这里加上plt.tight_layout(),记住要在画完所有子图后
plt.savefig('test.png', dpi=200)
效果如下:
保存时图片不完整的问题
在plt.savefig中加入bbox_inches='tight’参数设置
fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(12,6), tight_layout=True)
labels = ['2022-{}-01'.format(str(i).zfill(2)) for i in range(1,13)]
y1 = np.random.randint(low=1, high=10, size=12)
y2 = np.random.randint(low=1, high=10, size=12)
axes[0].bar(labels, y1)
axes[0].set_xticks(labels)
axes[0].set_xticklabels(labels, rotation=75)
axes[1].bar(labels, y2)
axes[1].set_xticks(labels)
axes[1].set_xticklabels(labels, rotation=75)
plt.savefig('test.png', dpi=600, bbox_inches='tight')
# savefig时加入bbox_inches='tight'参数设置
补充:使用matplotlib时如何让坐标轴完整显示所有的标签刻度
在使用matplotlib时,由于数据量过大,在默认设置下,使用plot等时,会将x,y轴的刻度按一定比例缩减掉一部分,如:1,2,3,4,5,6,7,8,9,10会显示成2,4,6,8,10等,解决方法是使用xticks()和yticks():
xticks(ticks=None, labels=None, **kwargs)
ticks:x轴显示的数值(类型:list),若为空,则x轴上不会显示任何数值;
labels:标签项,当ticks不为空时,labels内容将覆盖ticks的内容
**kwargs:控制标签内容的排版
Return:
locs:返回x轴坐标列表
labels:返回x轴标签列表
来源:https://blog.csdn.net/weixin_39925939/article/details/122702591


猜你喜欢
- 经常会遇到这样一个情况:浏览器弹出对话框,提示脚本运行时间过长,询问“停止”还是“继续”。那究竟各个浏览器是如何判断在什么时候才弹出此对话框
- 首先还是应该科普下函数参数传递机制,传值和传引用是什么意思?函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进
- Session 对象 可以使用 Session 对象存储特定用户会话所需的信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Se
- 存储过程功能的优点为什么要使用存储过程?以下是存储过程技术的几大主要优点:预编译执行程序。SQL Server只需要对每一个存储过程进行一次
- 当我们修改一份代码的时候,也许会碰到修改后的代码还不如修改之前的代码能够满足自己的需求,那么这个时候我们就需要对代码进行回滚,下面我们来看一
- 1.使用效果如下面动图所示,点击取色按钮后,将鼠标移动到想要取色的位置,等待两秒即可取色:点击save color按钮可以将颜色存储到col
- 数据加载、存储与文件格式pandas提供了一些用于将表格型数据读取为DataFrame对象的函数。其中read_csv和read_talbe
- 前言密码重置功能相信对大家来说都不陌生,本文主要给大家介绍了关于使用Django内置的认证视图实现简单的通过邮箱重置密码的功能,分享出来供大
- 前言:MySQL 的二进制日志 binlog 可以说是 MySQL 最重要的日志,它记录了所有的 DDL 和 DML 语句(除了数据查询语句
- 一、ref的基本使用ref的使用<!-- `vm.$refs.p`将会是DOM结点 --><p ref="p&q
- //图片上传<SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT> Function GetUpload
- 文件提交页面既已生成,下面任务就很明确了:将提交的文件内容保存到服务器上。 下面我们用两种方法来实现这个功能: 1. 用 PHP 来保存:
- 在矩阵应用的过程中,经常需要使用随机数,那么怎么使用numpy 产生随机数呢 ,为此专门做一个总结。random模块用于生成随机数,下面是一
- 近期,一直在研究MySQL数据库,经常修改配置文件,导致MySQL数据库无法使用,不得不反复重装MySQL数据库。以下是在Windows7
- 使用pandas库来读取xlsx格式中的数据。excel中数据:示例代码1:import pandas as pd# data = pd.r
- 1.init 函数简介Golang init 函数是一种特殊的函数,主要用于完成程序的初始化工作,如初始化数据库的连接、载入本地配置文件、根
- Pytorch数据类型与转换(torch.tensor,torch.FloatTensor)之前遇到转为tensor转化为浮点型的问题,今天
- 正态分布(Normal distribution),也称“常态分布”,又名高斯分布(Gaussian distribution)正态曲线呈钟
- 人生苦短,快学Python!最近有位读者朋友遇到了一个小问题,私聊找小五答疑。感觉也会有其他同学会遇到,所以干脆分享出来。如下图所示,在本地
- 实例如下:String.prototype.trim = function (char, type) { if (char) {