Seaborn散点图制造商的论点无效

时间:2018-10-28 15:06:04

标签: python-3.x matplotlib seaborn

原始图

我正在尝试使用以下代码绘制以下图形:

from sklearn.datasets import make_blobs
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

X,y = make_blobs(n_samples=21,centers=7,shuffle=False)

palette = sns.color_palette("bright", 7)

fig, ax = plt.subplots(figsize=(4,4))
p1 = sns.scatterplot(X[:,0],X[:,1],palette=palette, hue=y,legend='full')

enter image description here

我未能实现的情节

现在,除了为不同的标签使用不同的颜色外,我还希望使用不同的形状。但是,即使我添加了markers参数,也没有任何改变。

marker_list = ['.', ',', 'o', 'v', '^', '<', '>']

fig, ax = plt.subplots(figsize=(4,4))
p1 = sns.scatterplot(X[:,0],X[:,1],palette=palette, hue=y,legend='full',markers=marker_list)

enter image description here

为什么marker参数不起作用?

1 个答案:

答案 0 :(得分:2)

您应按照scatterplot文档中的说明添加style分组变量。以下行应该起作用:

p1 = sns.scatterplot(X[:,0],X[:,1],palette=palette, hue=y, style=y, legend='full',markers=marker_list)