如何使用Seaborn绘制多条线?

3
我正在尝试绘制带有两条线的图形。两条线颜色不同,标签也不同。这是我想到的内容。

enter image description here

这是我编写的代码。

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

data1 = pd.read_csv("/content/drive/MyDrive/Summer-2020/URMC/training_x_total_data_ones.csv", header=None)
data2 = pd.read_csv("/content/drive/MyDrive/Summer-2020/URMC/training_x_total_data_zeroes.csv", header=None)

sns.lineplot(data=data1, color="red")
sns.lineplot(data=data2)

我做错了什么?

编辑

这是我的数据集的样子

enter image description here

2个回答

3

所以,我在第二行中添加了另一种颜色,似乎可以正常工作。

import random
import numpy as np
import seaborn as sns

mu, sigma = 0, 0.1 
s = np.random.normal(mu, sigma, 100)

mu1, sigma1 = 0.5, 1
t = np.random.normal(mu1, sigma1, 100)

sns.lineplot(data= s, color = "red")
sns.lineplot(data= t, color ="blue")

enter image description here


我认为这也与我的数据集有关。我已经编辑了问题,并添加了我的两个数据集的屏幕截图。 - odbhut.shei.chhele
你尝试添加参数hue了吗?例如sns.lineplot(data=data1, hue=<列名>)。 - learning_to_code
数值错误:无法使用宽格式数据分配以下变量:hue - odbhut.shei.chhele
这是我尝试过的代码:sns.lineplot(data=data1, hue='0')。 - odbhut.shei.chhele
这是我做的,对我有效,sns.lineplot(data=s,hue=s) sns.lineplot(data=t,hue=t),其中s和t是我的变量名称。在您的情况下,由于您只有1列,您可以给出数据的名称,即data1和data2?试试看。 - learning_to_code
根据您的错误,因为您的数据是宽格式,您可能想尝试使用sns.relplot(data= data1, kind= "line", hue= data1)。以下是相关文档: https://seaborn.pydata.org/tutorial/data_structure.html - learning_to_code

1
尝试指定调用 sns.lineplotxy
import pandas as pd
import numpy as np
import seaborn as sns

x = np.arange(10)

df1 = pd.DataFrame({'x':x,
                    'y':np.sin(x)})

df2 = pd.DataFrame({'x':x,
                    'y':x**2})

sns.lineplot(data=df1, x='x', y='y', color="red")
sns.lineplot(data=df2, x='x', y='y')

enter image description here

不这样做,我得到的图形与你的类似。

我认为这也与我的数据集有关。我已经编辑了问题并添加了我的两个数据集的截图。 - odbhut.shei.chhele

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接