#python #plotly #pandas-groupby
#питон #сюжетно #панды-групповые
Вопрос:
на изображении вы можете видеть, что последняя полоса-ноябрь, но плотли называет октябрь ноябрем 2021 года. Почему и как это исправить?
orders_month = orders[['createdAt', 'order_total_usd']] orders_month_grouped = orders_month.groupby(pd.Grouper(key='createdAt', axis=0, freq='M')).sum().reset_index() orders_month_grouped['value_labels'] = orders_month_grouped['order_total_usd'].map('${:,.0f}'.format) fig2 = px.bar(orders_month_grouped, x='createdAt', y="order_total_usd", text='value_labels') fig2.update_layout( title="Order Value by Month", xaxis_title="Month", yaxis_title="Order Value" ) fig2.update_yaxes(range=[350000, 600000]) fig2.show()
Обновить: нашел этот обходной путь
кажется, я могу это исправить с помощью этого
fig2.layout.xaxis.tick0 = orders_month_grouped['createdAt'].iloc[0] fig2.layout.xaxis.dtick = 'M1'
но почему я должен это делать (почему это неправильно)?
Комментарии:
1. Не могли бы вы включить некоторые входные данные, иллюстрирующие проблему? Предпочтительно
orders_month_grouped
, которые уже сгруппировали данные.2. @Шайдо добавил изображение для отображения данных
3. Если вы считаете, что ваше собственное исправление достаточно хорошо отвечает на ваш вопрос, пожалуйста, создайте ответ на свой собственный вопрос и примите его как правильный ответ, чтобы он был замаскирован как ответ в системе.
4. конечно, но я все еще задаюсь вопросом, почему мне нужно вручную это исправить? Это ошибка в сюжете?
Ответ №1:
вот исправление: добавлен xaxis_tick0…
fig2 = px.bar(orders_month_grouped, x='createdAt', y="order_total_usd", text='value_labels') fig2.update_layout( title="Order Value by Month", xaxis_title="Month", yaxis_title="Order Value", xaxis_tick0 = orders_month_grouped['createdAt'].iloc[0], xaxis_dtick = 'M1' )