【问题标题】:2 line plot using seaborn使用 seaborn 的 2 线图
【发布时间】:2021-11-25 07:54:14
【问题描述】:

我想绘制这个数组。我正在使用 seaborn 来做到这一点。我用过

import seaborn as sns
sns.set_style('whitegrid')
sns.kdeplot(data= score_for_modelA[:,0])

但是上面的只给出了第 1 列。我的分数在第 1 列和第 2 列中,我希望它们都绘制在同一个图表中。 样本数据如下: 数组 ([[0.67,0.33],[0.45,0.55],......,[0.81,0.19]]

【问题讨论】:

  • 嗨@Ojjasvi Puri,请提供一些示例数据,以便可以复制。您可能需要更改索引“score_for_modelA”的方式。
  • @Horbaje score_for_modelA 是一个类似 ([[0.67,0.33],[0.45,0.55],......,[0.81,0.19]]) 的数组。我想将这 2 列放在同一个图表中,并用不同的图例说明哪个折线图代表哪一个。

标签: python plot seaborn


【解决方案1】:

您可以先尝试将它们放入数据框中,并使用正确的列名,例如:

import seaborn as sns
import numpy as np
import pandas as pd

# create sample dataframe in wide format
score_for_modelA = np.random.normal(0, 1, (50, 2))
df = pd.DataFrame(score_for_modelA, columns=['col1', 'col2'])

# use melt to convert the dataframe to a long form
dfm = df.melt()

绘制长格式数据框

sns.kdeplot(data=dfm, hue="variable", x="value")

正如@JohanC 所指出的,如果你想要所有的列:

sns.kdeplot(data=df)

【讨论】:

  • 如果数据框的所有列都被绘制出来,.melt() 不是绝对必要的。 sns.kdeplot(data=pd.DataFrame(A, columns=['col1', 'col2'])) 也很好用。
  • 哦,感谢您指出@JohanC,不知道。
猜你喜欢
  • 2015-09-13
  • 2023-03-10
  • 2021-09-23
  • 2022-01-13
  • 2021-01-14
  • 1970-01-01
  • 2017-05-14
  • 1970-01-01
  • 2019-02-17
相关资源
最近更新 更多