Удалите повторяющиеся годы с оси x на графике

#python #plotly #plotly-python

Вопрос:

Я нарисовал столбчатую диаграмму в plotly (python). Значение года 2019 повторяется вдоль оси y. Как я могу отобразить только один 2019 в середине, а не другие.

введите описание изображения здесь

Мой код:

         a = pd.DataFrame(a.groupby(by=['Year', 'Vendor Name']) 
        ['Spend'].sum())
       
        fig_2 = px.bar(a, x='Year', y='Spend', 
        color='Vendor Name', barmode='stack', text='Spend')
        fig_2.update_traces(marker_line_width=0)
        fig_2.update_layout(
                    title="",
                    xaxis_title="",
                    yaxis_title="Total Spend",
                    legend_title="Vendor names",
                    height=450,
                    width=700,
                    
                    )
 

Комментарии:

1. Где ваш код ? Пожалуйста, разместите это здесь.

2. Установлен ли тип данных года по оси x в виде строки?

3. @r-новички, нет, это в типе даты и времени

4. Попробуйте это , fig.update_xaxes(type='category') возможно, вам придется преобразовать тип данных года, который будет отображаться на графике, в строку.

5. @Priya, Большое спасибо, это тот ответ, который я искал. У меня есть еще один вопрос. В этом случае он показывает год как 2019-06-15T00:00:00 вдоль оси y. Как я могу отображать только год 2019 по оси y

Ответ №1:

вы можете сделать

 a['year'] = a['date'].dt.year
 

дает столбец только с частью года, хотя должен быть столбец фактической даты datetime . Тогда, может быть, вы могли бы сделать

 fig2.update_xaxez(type="category")