Отобразить условные обозначения в виде меток оси x гистограмм в графическом виде python - PullRequest
0 голосов
/ 17 марта 2020

Я работаю над гистограммой группы на графике, где я отобразил несколько строк в гистограмме. Вот код, объясняющий, что я сделал:

data = [{"Project":"Project A","Features":{"AC":95,"Elec":130, "Area":2349.46, "Cars":30, "Rent":2345.00},"ScaledFeatures":{"AC":95,"Elec":130, "Area":2349.46, "Cars":30, "Rent":2345.00}},
{"Project":"Project B","Features":{"AC":95,"Elec":130, "Area":2120.00, "Cars":42, "Rent":5432},"ScaledFeatures":{"AC":95,"Elec":130, "Area":2120.00, "Cars":42, "Rent":2345}}
       ]
featureKeys = list(data[0]["Features"].keys())

for key in featureKeys:
    featureData = ([d["ScaledFeatures"][key] for d in data])
    minimumFeatureValue = min(featureData)
    for d in data:
        d["ScaledFeatures"][key] = d["ScaledFeatures"][key]/minimumFeatureValue

barData = []
for d in data:
    barData.append(go.Bar(name=d['Project'], x=featureKeys, y=list(d["ScaledFeatures"].values()),text=list(d["Features"].values()),textposition='auto'))

# set plot layout  
layout = go.Layout(
    xaxis={"mirror" : "allticks", 'side': 'top'} # x-axis also at top
)

fig = go.Figure(data=barData,layout=layout)

# Change the bar mode
#fig.update_traces(textposition='outside')
fig.update_layout(barmode='group')
fig.show()

Вот вывод, который он генерирует:

Current Output

Я хочу сгенерировать следующий подобный вывод из этого, где легенды идут по оси X:

Required Output

То, что я сделал до сих пор, это использование нескольких осей, но этот др aws свои собственные бары на том же графике. Любая помощь приветствуется!

1 Ответ

0 голосов
/ 17 марта 2020

Здесь можно использовать оси мультикатегории x, как в в этом примере . Однако у вас есть A / B и AC / Ele c et c. вместе на одной стороне. Если вы не хотите использовать это, вы можете использовать аннотации https://plot.ly/python/text-and-annotations/#simple -аннотацию . Кроме того, здесь вы можете использовать px.bar из plotly.express: https://plot.ly/python/bar-charts/

...