Необходимо добавить пространство между 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]()
Ответы
Ответ 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
, субплот перемещается вверх.
Обратите внимание, что субплот исчезнет, если смещение настолько велико, что новая позиция субплана перекрывается с другим субплотом.