Необходимо добавить пространство между SubPlots для метки оси X, возможно, удалить метки для меток оси - PullRequest
38 голосов
/ 01 марта 2011

Хотите добавить вертикальное пространство между построенными графиками, чтобы метка оси X показала:

На каждом графике должно быть место для отображения дня, в настоящее время последние 2 графика являются единственными, которые отображаются просто потому, что графики перекрывают его.

Также любопытно, смог бы я на самом деле убрать метки меток для оси X для графиков выше помеченных четверг / пятница, то есть нижняя ось X - единственная, которая показывает. То же самое для оси Y, но только графики слева имеют показанную шкалу.

* К сожалению, я не могу опубликовать изображение, чтобы показать это, так как мне не хватает представителя.

Фрагмент кода:

import mathlib.pyplot as pyplot
fig = pyplot.figure()
ax1 = fig.add_subplot(4,2,1)
ax1.set_yscale('log')
ax2 = fig.add_subplot(4,2,2, sharex=ax1, sharey=ax1)
ax3 = fig.add_subplot(4,2,3, sharex=ax2, sharey=ax2)
ax4 = fig.add_subplot(4,2,4, sharex=ax3, sharey=ax3)
ax5 = fig.add_subplot(4,2,5, sharex=ax4, sharey=ax4)
ax6 = fig.add_subplot(4,2,6, sharex=ax5, sharey=ax5)
ax7 = fig.add_subplot(4,2,7, sharex=ax6, sharey=ax6)
ax1.plot(no_dict["Saturday"],'k.-',label='Saturday')
ax1.set_xlabel('Saturday')
ax1.axis([0,24,0,10000])
pyplot.suptitle('Title')
pyplot.xlabel('Hour in 24 Hour Format')
ax2.plot(no_dict["Sunday"],'b.-',label='Sunday')
ax2.set_xlabel('Sunday')
...

too crowded

Ответы [ 2 ]

83 голосов
/ 01 марта 2011

Использовать subplots_adjust . В вашем случае это выглядит хорошо:

fig.subplots_adjust(hspace=.5)

чтобы снять метки галочки, сделайте это:

ax1.set_xticklabels([])

Аналогично для yticklabels. Однако вы не можете поделиться осью X с графиками, на которых есть метки галочек.

enter image description here

0 голосов
/ 08 июля 2019

Чтобы изменить интервал вокруг определенного подпункта, вместо всех из них вы можете отрегулировать положение осей этого подпоплета с помощью:

bbox=plt.gca().get_position()
offset=-.03
plt.gca().set_position([bbox.x0, bbox.y0 + offset, bbox.x1-bbox.x0, bbox.y1 - bbox.y0])

Если offset < 0, подпункт перемещается вниз,Если offset > 0, субплот перемещается вверх.

Обратите внимание, что субплот исчезнет, ​​если смещение настолько велико, что новая позиция субплана перекрывается с другим субплотом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...