有没有一种方法可以显示Plotly Express Python条形图图例中的空白迹线就数据而言,而无需添加空数据?

问题描述

在2015年提出here时,我想使用Python中的Plotly Express在水平条形图中显示所有可能的迹线。这是一些示例代码

import plotly.express as px

scores = [10,20,30,40,50,60,70,80]
names = ["Item 1","Item 2","Item 3","Item 4","Item 5","Item 6","Item 7","Item 8"]
score_name_color = ['0-20','0-20','21-40','41-60','61-80','61-80']

## Plot
fi = px.bar(
    x = scores,y = names,color_discrete_map = {'0-20':'#14327a','21-40':'#3a87b5','41-60':'#eed358','61-80':'#e5934b','81-100':'#c8352b'},color = score_name_color,orientation = 'h',text = scores,title = 'scores',category_orders={'color': ['0-20','81-100']},labels = {'x':'score','y':'Names','color':'Index'},)
fi.update_xaxes(
    range=[0,100]
)
fi.update_layout(
    yaxis={'categoryorder':'total ascending'},uniformtext_minsize=24,title_x=0.5
)
fi.update_traces(
    hovertemplate=None,hoverinfo='skip'
)
fi.show(config={"displayModeBar": False,"showTips": False})

scoresnamesscore_name_color的数组与color_discrete_map变量相比,我拥有所有数据点,除了81-100范围。如果查看图例,它将仅显示从数据集中可见的图例,并且缺少81-100范围项。我希望81-100范围项目在图例中以可视方式显示,以表示还有另一个可以表示的范围,即使该范围未在此特定数据集中表示。如何在图例中显示81-100范围项目而不向数据集中添加null值?

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...