Pandas Matplotlib保存图形时坐标轴标签太长导致显示不全问题的解决

 更新时间:2022年06月30日 16:34:32   作者:夏小悠  
在使用matplotlib作图的时候,有的时候会遇到画图时显示不全和图片保存时不完整的问题,这篇文章主要给大家介绍了关于Pandas Matplotlib保存图形时坐标轴标签太长导致显示不全问题的解决方法,需要的朋友可以参考下

前言

本篇博客主要解决在使用pandas绘制图像并保存时,由于标签太长,导致坐标轴上的标签显示不全的问题。刚遇到问题时调整了一下图片大小,然鹅并没有卵用,于是乎就检索了一下问题,发现没有解决pandas的。查询无果后,查看了一下官方文档,顿悟,这不就是matplotlib嘛,换了一个关键字再查询,果然,就是。所以本篇同样适用于解决matplotlib绘制图像时出现的这个问题。

	# 部分代码
	df_sparsity = distiller.weights_sparsity_summary(resnet20)
	df_sparsity_tmp = df_sparsity[['NNZ (dense)', 'NNZ (sparse)']]
	ax = df_sparsity_tmp.iloc[0:-1].plot(kind='bar', figsize=[30,10], title="Sparse vs. Dense\n(element-wise)")
	ax.set_xticklabels(df_sparsity.Name, rotation=90)

	fig = ax.get_figure()
	fig.savefig('output.png')

1. 问题描述

使用pandasDataFrame存储数据并绘制图像,横坐标轴的标签是ResNet20的各个layer的名字,像module.layer1.0.conv1.weight这样,由于太长,导致绘制出来的图像是这样的:

坐标轴的标签没有显示全,于是就尝试改变图像的大小:

	# 改变下高度
	ax = df_sparsity_tmp.iloc[0:-1].plot(kind='bar', figsize=[30,50], title="Sparse vs. Dense\n(element-wise)")

于是图像就变成了下面这样,虽然有效果,但图片被拉长,依旧不美观:

2. 问题原因

既然调整绘制图像尺寸之后绘制出来的图片依旧不符合预期,那就只能看看官方的文档了----pandas.DataFrame.plot(),看看是不是还有其他参数,能够使图像的大小及位置不变,坐标轴的绘制空间适当调整。然后就发现了这个:

函数返回了一个matplotlib.axes.Axes,既然是matlitplot,那问题就很容易解决了,matplotlib老搞这样的事。查看一下matplotlib的文档----matplotlib.pyplot.savefig(),可以看到:

默认情况下,仅保存图形给定的部分,如果设置为tight,将尝试保存更紧致的图形。

4. 解决方法

在保存图形是加入bbox_inches参数:

	# 设置tight bbox
	fig.savefig('output.png', bbox_inches='tight')

再次保存图形,此时的就很ok了:

结束语

到此这篇关于Pandas Matplotlib保存图形时坐标轴标签太长导致显示不全问题解决的文章就介绍到这了,更多相关Pandas Matplotlib保存图形显示不全内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python+tkinter编写电脑桌面放大镜程序实例代码

    python+tkinter编写电脑桌面放大镜程序实例代码

    这篇文章主要介绍了Python+tkinter编写电脑桌面放大镜程序实例代码,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • 一文带你搞懂Python中的数据容器

    一文带你搞懂Python中的数据容器

    这篇文章主要为大家详细介绍了Python中数据容器的相关资料,文中的示例代码讲解详细,对我们学习Python有一定的帮助,感兴趣的可以了解一下
    2022-11-11
  • 5种Python单例模式的实现方式

    5种Python单例模式的实现方式

    这篇文章主要为大家介绍了5种Python单例模式的实现方式,所谓单例,是指一个类的实例从始至终只能被创建一次,对单例感兴趣的小伙伴们可以参考一下
    2016-01-01
  • python中Flask Web 表单的使用方法介绍

    python中Flask Web 表单的使用方法介绍

    这篇文章主要介绍了python中Flask Web 表单的使用方法介绍,表单的操作是Web程序开发中最核心的模块之一,绝大多数的动态交互功能都是通过表单的形式实现的。更多介绍需要的小伙伴可以参考下面文章内容
    2022-05-05
  • Python面向对象三大特征 封装、继承、多态

    Python面向对象三大特征 封装、继承、多态

    这篇文章主要介绍了Python面向对象三大特征 封装、继承、多态,下面文章围绕Python面向对象三大特征的相关资料展开具体内容,需要的朋友可以参考一下,希望对大家有所帮助
    2021-11-11
  • tensorflow 实现从checkpoint中获取graph信息

    tensorflow 实现从checkpoint中获取graph信息

    今天小编就为大家分享一篇tensorflow 实现从checkpoint中获取graph信息,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python按时间排序目录下的文件实现方法

    python按时间排序目录下的文件实现方法

    今天小编就为大家分享一篇python按时间排序目录下的文件实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python matplotlib的使用并自定义colormap的方法

    Python matplotlib的使用并自定义colormap的方法

    今天小编就为大家分享一篇Python matplotlib的使用并自定义colormap的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • python万年历实现代码 含运行结果

    python万年历实现代码 含运行结果

    这篇文章主要为大家详细介绍了python万年历实现代码,含运行结果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • python+pandas分析nginx日志的实例

    python+pandas分析nginx日志的实例

    下面小编就为大家分享一篇python+pandas分析nginx日志的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04

最新评论