DIEA
您在这里有几个选择。您可以调整对color参数的使用,也可以使用palette参数。palette使用palette可以说是更清洁的方法。lineplot理想情况下,使用palette--with参数时,您只需调用一次hue:np.random.seed(42)y0 = pd.DataFrame(np.random.random(20), columns=['value'])y1 = pd.DataFrame(np.random.random(20), columns=['value'])y = pd.concat([y0, y1], axis=0, keys=['y0', 'y1']).reset_index()y = y.rename(columns={'level_0': 'group', 'level_1': 'x'})sns.lineplot(data=y, x='x', y='value', hue='group', palette=['r', 'g'], linewidth=2.5)但是您可以调用lineplot类似于您在帖子中所做的每一行:sns.set(style="whitegrid")data = pd.DataFrame(result_prices, columns=['Size percentage increase'])data2 = pd.DataFrame(result_sizes, columns=['Size percentage increase'])sns_plot = sns.lineplot(data=data, palette=['red'], linewidth=2.5)sns_plot = sns.lineplot(data=data2, linewidth=2.5)sns_plot.figure.savefig("size_percentage_increase.png")color使用该color参数似乎仅适用于 Series 对象。这在绘制单条线时最有用,而不是在绘图中为多条线着色时。由于您的数据框似乎只有一列,因此您可以(A)将它们转换为 Series 对象或(B)在调用时定义x和参数。ylineplot文档最后有一个例子。A) 转换为系列使用您的代码,它看起来像:sns.set(style="whitegrid")data = pd.Series(result_prices)data2 = pd.Series(result_sizes)sns_plot = sns.lineplot(data=data, color='red', linewidth=2.5)sns_plot = sns.lineplot(data=data2, linewidth=2.5)sns_plot.figure.savefig("size_percentage_increase.png")作为一个最小的例子:np.random.seed(42)y0 = pd.DataFrame(np.random.random(20), columns=['value'])y1 = pd.DataFrame(np.random.random(20), columns=['value'])sns.lineplot(data=y0['value'], color='r')sns.lineplot(data=y1['value'])B) 定义x和y参数sns.lineplot(data=y0, x=y0.index, y='value', color='r')sns.lineplot(data=y1, x=y0.index, y='value')