【问题标题】:Is there a way to better represent the data below?有没有办法更好地表示下面的数据?
【发布时间】:2021-03-05 07:24:36
【问题描述】:

Data

我觉得我这样做的方式有点效率低下,但我不确定如何更好地并排表示数据,同时比较不同的产品和不同的列类别

【问题讨论】:

  • 嘿,你能展示一下你表示数据的方式吗?我们无法猜测...
  • 欢迎来到 Stack Overflow,请附上数据的Minimal, Reproducible Example,以便我们提供帮助
  • 请不要将代码/数据/错误消息作为图片发布。在 SO 上直接在此处发布文本。

标签: python matplotlib seaborn


【解决方案1】:

由于没有预期的输出,我们提出了一种方法来创建分组为一个的多个图。我将您的数据转换为垂直格式并按类别类型分组;对于 y 轴,正常格式下的收入值太大,看不到其他值。所以我把它改成了日志格式。请参考this

data2 = data.melt(id_vars='Product', var_name='item', value_vars=['Education', 'Usage', 'Fitness', 'Income', 'Miles'])

import seaborn as sns
import matplotlib.pyplot as plt

g = sns.catplot(
    data=data2, kind="bar",
    x="Product", y="value", hue="item",
    palette="dark", alpha=.6, height=6
)
g.despine(left=True)
g.ax.set_yscale('log')
g.set_axis_labels("x labels", "y labels")
g.legend.set_title("legend title")

【讨论】:

  • 如果我的回答对您有帮助,请考虑接受它作为正确答案。
  • 非常感谢您的建议。从来不知道 seaborn 已经对条形图进行了分组,而 pandas melt 功能对我来说还是很新的,一定要研究这个功能并看看如何应用它。再次感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-01
  • 2020-03-01
  • 2013-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多