原始地块
我尝试用下面的代码绘制下面的图表:
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')
我未能实现的阴谋#
现在,除了不同标签的不同颜色之外,我还想要不同的形状。然而,即使我添加了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)
为什么marker
参数不起作用?
2条答案
按热度按时间ryevplcw1#
您应该添加
style
分组变量,如scatterplot文档中所述。下面的行应该有效:lnvxswe22#
要添加到@rinkert的答案中,对于那些没有多种样式的人(例如,原始帖子中的
y
变量),您可以只设置style=True
(然后也设置legend=False
)。