Подтвердить что ты не робот

Необходимо добавить пространство между SubPlots для метки оси X, возможно, удалить маркировку осевых надрезов

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

Каждый график должен иметь пространство для отображения дня, в настоящее время последние 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

4b9b3361

Ответ 1

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

fig.subplots_adjust(hspace=.5)

чтобы удалить метки метки, сделайте следующее:

ax1.set_xticklabels([])

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

enter image description here

Ответ 2

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

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, субплот перемещается вверх.

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