【发布时间】:2021-02-25 16:41:15
【问题描述】:
我有分组和堆叠的条形图。现在我想为以不同颜色堆叠的值着色。我的情节目前看起来像这样(带有应该用不同颜色标记的部分的标记):
该组对应于一个类别,并且堆叠基于两个值列之间的增量(增量堆叠在较低值的顶部)。
我想将增量(即堆叠条的上部)着色为稍浅的颜色(此处:Cat1 为浅蓝色,Cat1 为浅红色)。
但是,我找不到这样做的合适选项。
我的数据如下所示:
import pandas as pd
data = [
["Station1", 2.5, 3.0, "Cat1"],
["Station1", 3.7, 4.2, "Cat2"],
["Station2", 1.7, 2.1, "Cat1"],
["Station2", 3.9, 4.0, "Cat2"],
]
df = pd.DataFrame(data, columns=["station", "val1", "val2", "category"])
df["delta"] = df["val2"] - df["val1"]
这是绘图功能:
import plotly.express as px
px.bar(df, x="station", y=["val1", "delta"], color="category", barmode="group").show()
如何以不同的方式为增量着色?解决方案也可以在情节上(不必情节表达)。
有没有办法手动计算delta 列?
【问题讨论】:
-
delta 可以是负数吗?
-
不,delta 总是 >0
-
好的,很好!然后我建议的方法就可以了!
标签: python plot plotly plotly-express