删除分组 plotly express 条形图中的空条,使每组条之间的视觉距离相等
Posted
技术标签:
【中文标题】删除分组 plotly express 条形图中的空条,使每组条之间的视觉距离相等【英文标题】:Remove empty bars in grouped plotly express bar chart, such that the visual distance between each group of bars is equal 【发布时间】:2021-12-13 16:35:42 【问题描述】:我正在尝试对条形图的轨迹进行分组,并在每个组之间保持相同的距离。
import pandas as pd
import plotly.express as px
df = pd.DataFrame(
"City": ["Toronto", "Toronto", "Toronto", "CPH", "CPH", "London", "London"],
"Tower name": ["T1", "T2", "T3", "T4", "T5", "T6","T7"],
"Height": [1.0, 1.5, 2.0, 3.0, 4.0, 2.0 ,5.0],
)
fig = px.bar(x=df['City'], y=df['Height'],color = df['Tower name'], color_discrete_sequence=['black'])
fig.update_layout(showlegend=False)
fig.update_layout(barmode='group')
fig.show()
结果如下图。
我想要的解决方案是这样的
我找到了this thread,但该线程中的解决方案建议堆叠条形,这在我的情况下是不可能的。
【问题讨论】:
【参考方案1】:您可以使用多类别轴https://plotly.com/python/categorical-axes/#multicategorical-axes
go.Figure(go.Bar(x=df.loc[:,["City", "Tower name"]].T.values, y=df["Height"].values, marker_color="black"))
【讨论】:
这正是我所追求的。谢谢你。一个后续问题:当多伦多、CPH、伦敦彼此靠得太近时,是否可以删除 T1、T2、T3 等标记并将其旋转为垂直(我的真实数据集要大得多) 多分类有多重限制。这种技术plotly.com/python/tick-formatting/#tickmode--array 不适用于摆脱 T1、T2、... 谢谢你抢。我在单独的帖子中创建了一个后续问题:***.com/questions/69767008/…以上是关于删除分组 plotly express 条形图中的空条,使每组条之间的视觉距离相等的主要内容,如果未能解决你的问题,请参考以下文章
如何在 plotly express 条形图中隐藏颜色条和图例?
使用 plotly-express 按值按降序排列条形图中的条形