У меня есть код ниже. В двух словах, мне нужно продублировать нижние оси x, поэтому я сохраняю уже нанесенные данные (на месте), но меняю xlim. Я попробовал set_xlim после построения данных (просто перенастраивает данные в соответствии с новым масштабом (как и ожидалось); также попытался продублировать ось (с помощью twiny), а затем настроить с помощью нового масштаба (а затем добавить строки с помощью axvline). Ниже способ работает, однако этикетка теперь не прилипает к осям!я думала что-то упустила.
Какие-либо предложения?
import matplotlib.pyplot as plt
plt.plot([1,2,1,4,5],[1,2,3,4,5], marker='o', label='value 1')
plt.plot([3,1,3,1,2],[1,2,3,4,5], label='value 2')
plt.gca().get_xaxis().set_visible(False)
ax1 = plt.twiny()
ax2 = ax1.twiny()
ax1.set_xlabel('TOP')
ax2.set_xlabel('BOTTOM')
plt.savefig(fname='test.png')
plt.show()
Это очень похоже на этот вопрос (Изменение оси без изменения данных (Python)) , но я использую константу (скажем, от 0 до 750) в качестве исходного графика, а диапазон, который я хочу установить для xlim, несколько не связан с исходными данными (скажем, от 0 до 30000).