1 回答

TA貢獻(xiàn)1820條經(jīng)驗 獲得超2個贊
您在這里有幾個選擇。您可以調(diào)整對color參數(shù)的使用,也可以使用palette參數(shù)。
palette
使用palette可以說是更清潔的方法。lineplot理想情況下,使用palette--with參數(shù)時,您只需調(diào)用一次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)
但是您可以調(diào)用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參數(shù)似乎僅適用于 Series 對象。這在繪制單條線時最有用,而不是在繪圖中為多條線著色時。
由于您的數(shù)據(jù)框似乎只有一列,因此您可以(A)將它們轉(zhuǎn)換為 Series 對象或(B)在調(diào)用時定義x和參數(shù)。ylineplot
文檔最后有一個例子。
A) 轉(zhuǎn)換為系列
使用您的代碼,它看起來像:
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參數(shù)
sns.lineplot(data=y0, x=y0.index, y='value', color='r')
sns.lineplot(data=y1, x=y0.index, y='value')
添加回答
舉報