2015-10-03 3 views
1

Я пытаюсь получить значения xticks с одного участка, а затем использовать эти значения для другого участка, но установить новые тики как 10 на мощность клещей другого участка , Следующие строки не выполняют работу, на которую я нацеливаюсьполучить метки тика от участка и использовать для другого участка

labels=[item for item in ax1.get_xticklabels()] 
ax2.set_xticklabels(['$10^{{{:d}}}$'.format(int(i)) for i in labels]) 

Буду признателен за любые предложения.

+0

установить тот же номер тиков для оси и установите минимум на 10 ** x [0], а максимум до 10 ** x [-1] ... matplotlib должен позаботиться об остальном ... –

+0

@JoranBeasley Я делаю участки в скрипт для проверки работоспособности в 10-20 случаях, а нижний и верхний пределы изменяются в каждом конкретном бите, и я не хочу его исправлять. Я хотел бы найти способ настроить границы двух сюжетов друг с другом. – Dalek

ответ

0

Как насчет совместного использования осей? Это позволит устранить то же ограничение и количество клещей для ax1 и ax2:

fig, ax = plt.subplots(1, 2, sharex=True) 
ax1 = ax[0] 
ax2 = ax[1] 

Тогда ваш код будет делать трюк, так как вы уверены, что оба подзаговоры имеют те же xticks

labels = [item for item in ax2.get_xticklabels()] 
ax2.set_xticklabels(['$10^{{{:d}}}$'.format(int(i)) for i in labels]) 
Смежные вопросы