2016-06-09 4 views
4

Использование Matplotlib, у меня есть два подзаголовка, и я хочу, чтобы они имели одинаковые пользовательские строковые символы.Пользовательские xticks для нескольких подзаговоров?

Вот минимальный пример того, что я пытался до сих пор:

import matplotlib.pyplot as plt 
f, axs = plt.subplots(ncols=2, sharex=True) 
plt.xticks(range(6), [str(x)+"foo" for x in range(6)], rotation='45') 
for i in range(2): 
    ax = axs[i] 
    ax.plot(range(6), range(6)) 
f.show() 

Производит этот вывод:

output of code example

Обратите внимание, что xticks слева являются не повернута. Как я могу это сделать?

Если я удалю sharex=True, левая подзаголовок не имеет пользовательских xticks. Однако я не могу дать xticks одной оси. Это приводит к ошибке:

AttributeError: 'AxesSubplot' object has no attribute 'xticks' 

ответ

4

Если sharex не используется главным образом этот код:

import matplotlib.pyplot as plt 
f, axs = plt.subplots(ncols=2) 
for i in range(2): 
    ax = axs[i] 
    ax.set_xticks(range(6)) 
    ax.set_xticklabels([str(x)+"foo" for x in range(6)], rotation=45) 
    ax.plot(range(6), range(6)) 
plt.show() 

enter image description here

+0

Я могу жить без sharex. Благодаря! – qznc

Смежные вопросы