#python #pandas #plotly #bar-chart
Вопрос:
данные выглядят так
A | метка |
---|---|
строка | отрицательный |
строка | отрицательный |
строка | отрицательный |
строка | положительный |
строка | положительный |
строка | отрицательный |
строка | положительный |
Я хочу создать простую столбчатую диаграмму, показывающую два столбца — количество положительных и количество отрицательных, рядом друг с другом, синим и красным.
Если я сделаю это
fig = px.bar(df, x=df["label"])
тогда я получаю это (кстати, вы знаете, почему цвета приглушены из ниоткуда?):
Когда я наводлю курсор, он говорит «count = 1», я хочу, чтобы он указывал фактическое количество.. и я хочу сделать отрицательную полосу красной. Как мне это сделать?
Комментарии:
1. Подробности см. в разделе Последовательность цветов plotly.
Ответ №1:
у plotly есть тип диаграммы гистограммы. https://plotly.com/python/histograms /
import io
import pandas as pd
import plotly.express as px
df = pd.read_csv(io.StringIO("""A,label
string,negative
string,negative
string,negative
string,positive
string,positive
string,negative
string,positive"""))
px.histogram(df, x="label", color="label", color_discrete_sequence=["red","blue"])
Ответ №2:
Выполните groupby
и объедините с count
, чтобы получить новый фрейм данных с количеством для двух классов в label
:
fig = px.bar(df.groupby([‘a’]).count(),x=‘label’,color =‘label’, color_discrete_sequence=[‘blue’,’red’])