如何在matplotlib中删除一分钟的轴标签

中子星

我正在用matplotlib绘制几个相邻的面板。我有一些轴标签在面板相交处重叠的问题。下面是一个最小的工作示例和示例图像。

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(4,8))
ax1 = fig.add_axes([.25,.5,.5,.25])
ax2 = fig.add_axes([.25,.25,.5,.25])

ax1.set_xticklabels([])

fig.savefig("temp.pdf")

在此处输入图片说明

如您在图像中看到的,顶部面板的0.0和底部面板的1.0在同一位置。我正在尝试使底部面板的1.0不会显示,但仍然在轴上显示其余标签。我尝试过的一切都没有奏效。我尝试过的事情:

#This just doesn't do anything
from matplotlib.ticker import MaxNLocator
ax3.xaxis.set_major_locator(MaxNLocator(prune='upper'))

#This produces the image shown below
labels = [item for item in ax2.get_yticklabels()]
labels[-1].text = ''
ax2.set_yticklabels(labels) 

#This also produces the image shown below
labels = ax2.get_yticklabels()
labels[-1].set_text('')
ax2.set_yticklabels(labels) 

在此处输入图片说明

上面的图像由紧接在图像之前的三个代码块中的最后两个产生。无论是否labels[-1].text = ''包含该行,都会出现奇怪的y轴标签

Suever

您将要获取轴的所有ytick标签,然后使用除最后一个以外的所有ytick标签进行设置。这里的重要一点(尤其是使用matplotlib的较新版本)是,您必须先显示图形并刷新画布,然后才能获取ytick标签,以便已经计算出其默认位置。

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(4,8))
ax1 = fig.add_axes([.25,.5,.5,.25])
ax2 = fig.add_axes([.25,.25,.5,.25])

ax1.set_xticklabels([])

# Important to render initial ytick labels
fig.show()
fig.canvas.draw()

# Remove the last ytick label
labels = [tick.get_text() for tick in ax2.get_yticklabels()]
ax2.set_yticklabels(labels[:-1])

# Refresh the canvas to reflect the change
fig.canvas.draw()

注意:在我之前的代码中,我fig.savefig()在更改刻度以调试事物之前使用了调用,这迫使渲染和生成默认的ytick标签。

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在XTS中索引一分钟的盘中数据?

来自分类Dev

一分钟。字典中的值

来自分类Dev

Python熊猫每天从熊猫数据框索引中删除第一分钟

来自分类Dev

如何在安装新的crontab时修复“糟糕的一分钟”错误

来自分类Dev

如何替换事件页面扩展中的短(不到一分钟)setTimeouts

来自分类Dev

我如何每隔一分钟在php中执行代码?

来自分类Dev

如何在执行另一分钟后的x分钟内执行SQL查询?

来自分类Dev

从最后一分钟开始活动(PHP)

来自分类Dev

给字符串加一分钟

来自分类Dev

DateTime.TryParseExact增加一分钟?

来自分类Dev

DateTime.TryParseExact增加一分钟?

来自分类Dev

一分钟后无法上网

来自分类Dev

运行Cron不到一分钟-Laravel

来自分类Dev

WordPress网站加载将近一分钟

来自分类Dev

Ubuntu 需要一分钟才能启动

来自分类Dev

优化:如何从一周的每一分钟的时间获取TimeId?

来自分类Dev

如何将一分钟的cron延迟一个小时

来自分类Dev

如何每隔一分钟从网络摄像头拍照?

来自分类Dev

如何限制一分钟内发出的用户请求数

来自分类Dev

FFMPEG:如何保持UDP流连接打开甚至源掉一分钟

来自分类Dev

重启一分钟后如何执行系统命令(Linux)?

来自分类Dev

如何知道每隔一分钟重新启动哪个服务

来自分类Dev

如何每隔一分钟将2加到当前值?

来自分类Dev

我如何尾部文件并捕获输出一分钟?

来自分类Dev

Android AudioRecord-如何获得一分钟的平均音量

来自分类Dev

如何以一分钟的准确度绘制来自 BigQuery 的时间序列?

来自分类Dev

声音弹出窗口显示xubuntu中的每一分钟

来自分类Dev

声音弹出窗口显示xubuntu中的每一分钟

来自分类Dev

从列表中获取最后一分钟的日期行

Related 相关文章

热门标签

归档