当绘制两个数据集并且其中一个数据集有更多数据时,我们如何 "normalize" 使它们在表示上相等?

When plotting two datasets and one of them has much more data, how do we "normalize" them so they're equal in representation?

我正在使用 Plotly 绘制一些情绪数据,但我遇到一个问题,即一个角色的台词比另一个多很多,所以我们似乎无法比较两者。我不确定如何对此进行描述以找到解决方案,所以我希望也许有人会理解我指的是什么。以下是图片:

我们不能真正比较橙色的消极性和蓝色的消极性,或者我们可以吗?我们应该让橙色有 600 作为标签吗,它比蓝色小得多,还是这个比例正确?

我想要这样,这样我们就可以说,例如,蓝色不如橙色积极。

对于任何混淆,我深表歉意。谢谢。

我不知道你在操作哪些对象,但我在你的标签中读到 pandas 所以我认为它是一个 DataFrame。

import pandas as pd
# Your data
df = pd.DataFrame.from_dict({"orange": [55, 149, 111], "blue": [188, 652, 320]},
                        orient="index", columns=["negative", "neutral", "positive"])
index negative neutral positive
orange 55 149 111
blue 188 652 320

您可以简单地计算每个值沿其行的百分比:

perc_df = df.div(df.sum(axis=1), axis=0) * 100
index negative neutral positive
orange 17.460317 47.301587 35.238095
blue 16.206897 56.206897 27.586207

绘制此新 DataFrame 后,条形高度将具有可比性。百分比直观且广为人知。