Python:Seaborn获取调色板的十六进制值(或调色板不适用于散点图)

时间:2015-03-31 03:59:40

标签: python matplotlib seaborn

好吧我正在策划pandas数据帧df1,df2和df3。我有一份df列表。

list_df = [df1, df2, df3]


sns.set_palette(sns.color_palette("dark"))

def plot_data(col1,col2,PLOT_TYPE):
    for df in list_df:
         if PLOT_TYPE == "time"
             plt.plot(df[col1], df[col2]) #this works as expected, each df has different colors
         else
             plt.scatter(df[col1], df[col2]) #this plots every df as  same color (blue), and the color is not from dark palette 

plot_data("time", "values", "time")
plot_data("size", "values", "scatter)

我可以通过用c=dark_palette[i]明确指出每个数据帧的颜色来解决这个问题 我需要深色调的颜色,我该怎么做? (除了绘制调色板,在GIMP中使用吸管)?另外,为什么调色板不适用于散射?

编辑:当我将 plt.plot 中的 plt.plot 更改为 plt.scatter 时,再次我得到所有相同的颜色(即蓝色)

我认为这是matplotlib的一个问题,这里是最小代码

x = np.linspace(0, 2, 100)
y1= x**2
y2 = x**3
plt.plot(x, y1)
plt.plot(x, y2)
plt.show()

plt.scatter(x, y1)
plt.scatter(x, y2)
plt.show()

解决方案:seaborn cycle through colours with matplotlib scatter

0 个答案:

没有答案