iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Pandas Matplotlib保存图形时坐标轴标签太长导致显示不全如何解决
  • 949
分享到

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

2023-07-02 14:07:53 949人浏览 薄情痞子
摘要

这篇文章主要介绍“pandas Matplotlib保存图形时坐标轴标签太长导致显示不全如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Pandas Matplotlib保

这篇文章主要介绍“pandas Matplotlib保存图形时坐标轴标签太长导致显示不全如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“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这样,由于太长,导致绘制出来的图像是这样的:

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

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

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

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

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

2. 问题原因

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

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

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

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

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

4. 解决方法

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

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

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

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

关于“Pandas Matplotlib保存图形时坐标轴标签太长导致显示不全如何解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: Pandas Matplotlib保存图形时坐标轴标签太长导致显示不全如何解决

本文链接: https://www.lsjlt.com/news/342444.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作