gpt4 book ai didi

python - seaborn lmplot 中的标记

转载 作者:太空宇宙 更新时间:2023-11-03 14:34:33 26 4
gpt4 key购买 nike

from cycler import cycler
markers = cycler(marker=['*', 'o'] * 100)

g = sns.lmplot(x='x', y='y', df, fit_reg=False, hue='z', lowess=True, scatter_kws={'alpha': 0.5}, legend=True, markers=markers)

在上面的代码中,我想循环标记。但是,我收到此错误:

TypeError: unhashable type: 'Cycler'

如何解决这个问题?

最佳答案

尝试markers=['*', 'o'] .

markers lmplot() 中的参数hue 的每个级别都需要一个条目。您可以测试一下:

N = 100
data = {"x":np.random.random(N),
"y":np.random.random(N),
"z":np.random.choice([0,1], size=N)}
df = pd.DataFrame(data)

markers = [1,2,3]

g = sns.lmplot(x='x', y='y', data=df, fit_reg=False, hue='z', lowess=True,
scatter_kws={'alpha': 0.5}, legend=True, markers=markers)

^ 这将引发错误:

ValueError: markers must be a singeton or a list of markers for each level of the hue variable

如果这是导入(相当深奥的)cycler 的唯一用例模块,您最好将其忽略并简单地定义您想要绑定(bind)到 z 的标记。专栏。

至于您发布的实际错误,请注意 markers 中的每个元素是 dict 。有一个marker将获得实际 marker 的字段特点。您可以通过以下方式查看:

for m in markers:
print(m['marker'])

关于python - seaborn lmplot 中的标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47048636/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com