Установка сюжетных линий впоследствии - PullRequest
0 голосов
/ 05 июля 2018

Я строю графики в цикле:

cities = grouped_price.index.levels[0]  # list of cities
dates  = grouped_price.index.levels[1]  # list of dates, which
                                        # are 1st day of each month
linestyles = ['-', '-.', '--', '-.-', ':']

for city in cities[0:1]:
    for month in dates:  # loop over dates, which are grouped by month
        legend = legend + [month.strftime("%B")] # month in text
        ax = grouped_price.loc[city, month]['Amount'].plot()
plt.show()

Как я могу установить стиль линии впоследствии? Если я напишу

ax = grouped_price.loc[city, week]['Amount'].plot(style = linestyles)

внутри циклов, он просто использует первый стиль линии для всех строк.

Тот же вопрос с цветами и линией толщиной . Я нашел итеративное решение для установки толщины (цикл по каждой строке), но есть ли более простой способ? Спасибо.

1 Ответ

0 голосов
/ 05 июля 2018

, если у вас одинаковое количество месяцев и стилей, вы можете сделать:

linestyles = ['-', '-.', '--', '-.-', ':']
for city in cities[0:1]:
    for month,ls in zip(dates, linestyles):  # loop over dates, which are grouped by month and linestyles
        legend = legend + [month.strftime("%B")] # month in text
        ax = grouped_price.loc[city, month]['Amount'].plot(style = ls)
plt.show()
...