Python 在matplotlib中按组以长格式打印数据

Python 在matplotlib中按组以长格式打印数据,python,pandas,matplotlib,Python,Pandas,Matplotlib,我有以下数据: 将熊猫作为pd导入 将matplotlib.pyplot作为plt导入 test=pd.DataFrame({“series”:[“plot1”、“plot1”、“plot1”、“plot2”、“plot2”], “独立变量”:[0,1,2,0,1,2], “dep_var”:[0,1,2,0,2,4]}) plot1由f(x)=x描述,而plot2是g(x)=2x 我想在同一个图形中绘制这两个系列,并使它们共享相同的x轴和y轴。我遇到过,但它要求数据的格式很宽(每个组需要一行

我有以下数据:

将熊猫作为pd导入
将matplotlib.pyplot作为plt导入
test=pd.DataFrame({“series”:[“plot1”、“plot1”、“plot1”、“plot2”、“plot2”],
“独立变量”:[0,1,2,0,1,2],
“dep_var”:[0,1,2,0,2,4]})
plot1
f(x)=x
描述,而
plot2
g(x)=2x

我想在同一个图形中绘制这两个系列,并使它们共享相同的x轴和y轴。我遇到过,但它要求数据的格式很宽(每个组需要一行代码,我觉得很不方便)

我想知道是否有类似于
ggplot2
中的
color
参数的内容。也就是说,一个参数将按
test[“series”]
对一列进行分组。当有多个系列时,这样做的好处更为明显,因此您不必为每个系列编写一行

我找到了一个,这是我能得到的最接近的:

#test.set_index(“ind_var”,inplace=True)这是我丢失的行
test.groupby(“系列”)[“dep_var”]绘图(图例=真)
plt.show()


有没有一种方法可以使用
grooupby
的线条在一个图形中绘制这两个系列?

您找到的解决方案有什么问题?如果我遵循第一个方法,我必须编写135行代码(我有135个组)。第二个解决方案不起作用。两个系列共享相同的
x
变量,因此它们应该覆盖相同的范围,并在相同的y刻度上绘制。不,这不是真的<代码>“plot1”包含x个值0,1,2,而
“plot2”包含3,4,5。
sns.lineplot(x='ind\u var',y='dep\u var',hue='series',data=test)
?是的,但您没有编辑图像。有了更改后的数据,您将完全得到您所要求的。