, как показано в заголовке, у меня есть два вопроса.
1) Совместное использование двух осей X в многоплановом режиме.
2) показ тиков внутри многосюжета.
перед вопросом, следующий код - моя попытка, (простая версия)
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import (MultipleLocator, FormatStrFormatter,
AutoMinorLocator)
t1=np.arange(0,200)
t2=np.arange(43,160)
t3=np.arange(80,180,0.1)
t4=t1/60
t5=t2/60
t6=t3/60
A=np.sin(t1)*2
B=np.cos(t2)
C=0.03*t3+2
majorLocator = MultipleLocator(20)
majorFormatter = FormatStrFormatter('%d')
minorLocator = MultipleLocator(5)
fig=plt.figure(figsize=(8,5))
plt.subplots_adjust(hspace=0.001)
ax1=fig.add_subplot(311)
ax1.plot(t1,A,label='A')
plt.legend()
ax4=ax1.twiny()
ax4.plot(t4,A,'r--')
#ax1.xaxis.set_major_locator(majorLocator)
#ax1.xaxis.set_major_formatter(majorFormatter)
#ax1.xaxis.set_minor_locator(minorLocator)
ax1.yaxis.set_ticks_position('both')
ax2=fig.add_subplot(312,sharex=ax1)
ax2.plot(t2,B,label='B')
plt.legend()
ax5=ax2.twiny()
ax5.plot(t5,B,'r--')
#ax2.xaxis.set_major_locator(majorLocator)
#ax2.xaxis.set_major_formatter(majorFormatter)
#ax2.xaxis.set_minor_locator(minorLocator)
ax2.yaxis.set_ticks_position('both')
ax3=fig.add_subplot(313,sharex=ax1)
ax3.plot(t3,C,label='C')
plt.legend()
ax6=ax3.twiny()
ax6.plot(t6,C,'r--')
#ax3.xaxis.set_major_locator(majorLocator)
#ax3.xaxis.set_major_formatter(majorFormatter)
#ax3.xaxis.set_minor_locator(minorLocator)
ax3.yaxis.set_ticks_position('both')
ax3.tick_params(direction='inout')
ax4.get_shared_x_axes().join(ax4, ax5, ax6) #not working
plt.show()
как вы знаете после выполнения этого кода, есть две оси X. эти оси X, на самом деле то же самое значение. Вы можете думать так же, как то, что верхняя сторона (верхняя ось X) указывает часы, а нижняя сторона (нижняя ось X) указывает минуты. Таким образом, на рисунке A (график с меткой «A») рисование было успешным одновременно (кривые перекрываются). но остальные не совпадают (кривые не перекрываются).
здесь, первый вопрос, как каждая красная пунктирная линия может перекрываться с каждой синей линией. это означает, что синяя линия правильная, красные пунктирные линии растянуты.
Я искал, что некоторые люди используют get_shared_x_axes (). Join () в интернете, но это не работает.
и второй вопрос - сделать отметки внутри фигуры (между цифрой A и цифрой B и между цифрой B и цифрой C). здесь я хотел бы удалить значения внутренних осей X, и отметки совпадают с нижней осью X.
Если мне не хватит объяснений,
на этом сайте есть сюжет для сравнения, который я действительно хочу "http://dmaitra.webspace.wheatoncollege.edu/aql-tracks/"
пс. если вы знаете способ удаления красной пунктирной линии (теперь эти пунктирные линии нужно проверить, но после этого я хочу удалить их, но в то же время должна прожиться верхняя ось х). пожалуйста, дайте мне знать также: D