matplotlib 海运散点图标记参数无效

fxnxkyjh  于 2022-12-04  发布在  其他
关注(0)|答案(2)|浏览(117)

原始地块

我尝试用下面的代码绘制下面的图表:

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参数不起作用?

ryevplcw

ryevplcw1#

您应该添加style分组变量,如scatterplot文档中所述。下面的行应该有效:

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

lnvxswe22#

要添加到@rinkert的答案中,对于那些没有多种样式的人(例如,原始帖子中的y变量),您可以只设置style=True(然后也设置legend=False)。

相关问题