Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在plotly python中将图例显示为条形图的x轴标签_Python_Charts_Plotly_Visualization - Fatal编程技术网

在plotly python中将图例显示为条形图的x轴标签

在plotly python中将图例显示为条形图的x轴标签,python,charts,plotly,visualization,Python,Charts,Plotly,Visualization,我正在plotly中绘制一个组条形图,其中我在条形图中映射了多行。下面是解释我所做工作的代码: 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":"P

我正在plotly中绘制一个组条形图,其中我在条形图中映射了多行。下面是解释我所做工作的代码:

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()
以下是它生成的输出:

我想从这里生成以下类似的输出,其中图例位于x轴:


到目前为止,我所做的是使用多个轴,但在同一图表中绘制自己的条形图。感谢您的帮助

这里可以使用多类别x轴,如中所示。然而,您将有A/B和AC/Elec等在同一侧。如果您不想使用它,可以使用注释。此外,这里可以考虑使用PX.Bar从PultLy.Exp: