matplotlib - зебра-полоса цвета фона фигуры? - PullRequest
1 голос
/ 12 мая 2010

Я строю простую линейную диаграмму с помощью matplotlib, и я хотел бы зачистить фон диаграммы, чтобы каждая чередующаяся строка была по-разному окрашена. Есть ли способ сделать это?

Мой график уже имеет сетку и содержит только основные тики.

Редактировать: код из моего комментария ниже, но более разборчивый:

yTicks = ax.get_yticks()[:-1]
xTicks = ax.get_xticks()
ax.barh(yTicks, [max(xTicks)-min(xTicks)] * len(yTicks),
    height=(yTicks[1]-yTicks[0]), left=min(xTicks), color=['w','#F0FFFF'])

1 Ответ

4 голосов
/ 12 мая 2010

Вот быстрый взлом, который использует диаграмму (axes.barh) для симуляции чередования.

import matplotlib.pyplot as plt

# initial plot
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot([1,2,3,4,5])

yTickPos,_ = plt.yticks()
yTickPos = yTickPos[:-1] #slice off the last as it is the top of the plot
# create bars at yTickPos that are the length of our greatest xtick and have a height equal to our tick spacing
ax.barh(yTickPos, [max(plt.xticks()[0])] * len(yTickPos), height=(yTickPos[1]-yTickPos[0]), color=['g','w'])

plt.show()

Производит:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...