我是靠谱客的博主 温暖飞机,最近开发中收集的这篇文章主要介绍python子图标签_Python子图为公共轴标签留出空间,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

I have the following code that makes four subplots in one figure:

f = figure( figsize=(7,7) )

f.add_axes([0.2,0.175,0.75,0.75])

f.subplots_adjust(left=0.15)

f.clf()

ax = f.add_subplot(111)

ax1 = f.add_subplot(221)

ax2 = f.add_subplot(222)

ax3 = f.add_subplot(223)

ax4 = f.add_subplot(224)

ax.xaxis.set_major_formatter( NullFormatter() )

ax.yaxis.set_major_formatter( NullFormatter() )

ax2.xaxis.set_major_formatter( NullFormatter() )

ax2.yaxis.set_major_formatter( NullFormatter() )

ax1.xaxis.set_major_formatter( NullFormatter() )

ax4.yaxis.set_major_formatter( NullFormatter() )

f.subplots_adjust(wspace=0,hspace=0)

ax1.plot(tbins[0:24], mean_yszth1, color='r', label='mean', marker='.', lw=3)

ax2.plot(tbins[0:24], mean_ysz1, color='r', label='mean', marker='.', lw=3)

ax3.plot(tbins[0:24], mean_yszth2, color='r', label='mean', marker='.', lw=3)

ax4.plot(tbins[0:24], mean_ysz2, color='r', label='mean', marker='.', lw=3)

ax1.set_xlim(0,12)

ax1.set_ylim(-0.5,0.5)

ax2.set_xlim(0,12)

ax2.set_ylim(-0.5,0.5)

ax3.set_xlim(0,12)

ax3.set_ylim(-0.5,0.5)

ax4.set_xlim(0,12)

ax4.set_ylim(-0.5,0.5)

ax.set_xlabel(r"$mathrm{Time since last merger (Gyr)}$")

ax.set_ylabel(r"$mathrm{Delta Y_{SZ}/Y_{SZ}}$")

The result looks like this:

As you can see, the axis labels overlap with the ticks. I would like to move the common axis labels away from the axes a little. I can't figure out how best to do this.

解决方案

Use labelpad parameter of set_ylabel and set_xlabel methods:

Definition: ax.set_ylabel(self, ylabel, fontdict=None, labelpad=None, **kwargs)

Docstring:

Call signature::

set_ylabel(ylabel, fontdict=None, labelpad=None, **kwargs)

Set the label for the yaxis

*labelpad* is the spacing in points between the label and the y-axis

This is what I get with labelpad set to 50 (x) and 60 (y). I had to modify manually figure margins as the labels were outside the figure frame when using the default configuration.

Edit

From your comments it seems you could be using a very old version of matplotlib. Labelpad parameter has been in matplotlib from many versions ago but the way to of setting it could be different (I do not know for sure).

In the web I found some comments that point to this usage:

ax.xaxis.LABELPAD = 8 # default is 5

also I have seen it like:

ax.xaxis.labelpad = 8

最后

以上就是温暖飞机为你收集整理的python子图标签_Python子图为公共轴标签留出空间的全部内容,希望文章能够帮你解决python子图标签_Python子图为公共轴标签留出空间所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部