Изменение ориентации значений x графика Pyplot - PullRequest
1 голос
/ 27 мая 2019

У меня есть следующие данные:

stage_summary = {'Day1': {'1': 100.0, '2': 0.0, '3': 0.0, '4': 0.0, '5': 0.0, '6': 0.0, '7': 0.0, '8': 0.0}, 'Day2': {'1': 100.0, '2': 0.0, '3': 0.0, '4': 0.0, '5': 0.0, '6': 0.0, '7': 0.0, '8': 0.0}, 'Day3': {'1': 89.8, '2': 10.2, '3': 0.0, '4': 0.0, '5': 0.0, '6': 0.0, '7': 0.0, '8': 0.0}, 'Day4': {'1': 58.6, '2': 41.4, '3': 0.0, '4': 0.0, '5': 0.0, '6': 0.0, '7': 0.0, '8': 0.0}, 'Day5': {'1': 52.71, '2': 47.06, '3': 0.0, '4': 0.0, '5': 0.0, '6': 0.23, '7': 0.0, '8': 0.0}, 'Day6': {'1': 47.89, '2': 50.65, '3': 0.0, '4': 0.0, '5': 0.0, '6': 1.46, '7': 0.0, '8': 0.0}, 'Day7': {'1': 49.72, '2': 46.95, '3': 0.0, '4': 0.0, '5': 0.0, '6': 3.33, '7': 0.0, '8': 0.0}, 'Day8': {'1': 52.59, '2': 39.35, '3': 0.0, '4': 0.0, '5': 0.0, '6': 8.05, '7': 0.0, '8': 0.01}, 'Day9': {'1': 55.45, '2': 30.73, '3': 0.0, '4': 0.0, '5': 0.0, '6': 13.74, '7': 0.0, '8': 0.08}} 

date_list = ['2019-05-28',
 '2019-05-29',
 '2019-05-30',
 '2019-05-31',
 '2019-06-03',
 '2019-06-04',
 '2019-06-05',
 '2019-06-06',
 '2019-06-07']

И я строю данные таким образом, как линейный график:

for each_state in list(range(1,9)):
    tmp = []
    for each_day in stage_summary:
        tmp.append(stage_summary[each_day][str(each_state)])
    plt.plot(date_list, tmp, label=str('State ' + str(each_state)))
plt.ylabel('Probability')
plt.xlabel('Days')
plt.legend(loc='best')  

, что приводит к следующему графику,
enter image description here

Однако, как вы можете видеть, метки x представляют собой даты, которые представляют собой длинные строки.И поэтому он должен быть повернут и представлен вертикально, чтобы сделать его читаемым.Но я не уверен, как я могу изменить ориентацию значений х в графическом графике.Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 27 мая 2019

Вы используете matplotlib, а не плотно, верно?

Если да, попробуйте:

for each_state in list(range(1,9)):
    tmp = []
    for each_day in stage_summary:
        tmp.append(stage_summary[each_day][str(each_state)])
    plt.plot(date_list, tmp, label=str('State ' + str(each_state)))
plt.ylabel('Probability')
plt.xlabel('Days')
plt.xticks(rotation=45)
plt.legend(loc='best')  
1 голос
/ 27 мая 2019

Набор plotly.graph_objs.Layout.xaxis.tickangle = 90.

Деталь: https://plot.ly/python/axes/#set-and-style-axes-title-labels-and-ticks

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