向分组小提琴图添加标签 matplotlib

发布于 2025-01-12 12:12:29 字数 856 浏览 1 评论 0原文

我在同一轴上有 3 组 3 把小提琴(所以 9 个小提琴图)的图,我想给这些组贴上标签,这是我的尝试:

ax = plt.violinplot([method1[:,0].flatten(),method2[:,0].flatten(),method3[:,0].flatten()],positions= [1,2,3],showmeans=True,showmedians=False)
ax = plt.violinplot([method1[:,1].flatten(),method2[:,1].flatten(),method3[:,1].flatten()],positions=[5,6,7],showmeans=True,showmedians=False)
ax = plt.violinplot([method1[:,2].flatten(),method2[:,2].flatten(),method3[:,2].flatten()],positions=[9,10,11],showmeans=True,showmedians=False)


#positions = (([1,2,3],[5,6,7],[9,10,11]))
#labels = ( "method 1", "method 2","method 3")
#plt.xticks(positions = [2,6,10], labels)

ax.set_xticklabels(['method 1','method 2','method 3'])
ax.set_xticks([2,6,10])

我按预期得到了小提琴图,但我不知道如何添加标签正确。我收到错误:

module 'matplotlib.pyplot' has no attribute 'set_xticklabels'

I have a plot of 3 groups of 3 violins (so 9 violin plots) on the same axis and I want to label the groups, here is my attempt:

ax = plt.violinplot([method1[:,0].flatten(),method2[:,0].flatten(),method3[:,0].flatten()],positions= [1,2,3],showmeans=True,showmedians=False)
ax = plt.violinplot([method1[:,1].flatten(),method2[:,1].flatten(),method3[:,1].flatten()],positions=[5,6,7],showmeans=True,showmedians=False)
ax = plt.violinplot([method1[:,2].flatten(),method2[:,2].flatten(),method3[:,2].flatten()],positions=[9,10,11],showmeans=True,showmedians=False)


#positions = (([1,2,3],[5,6,7],[9,10,11]))
#labels = ( "method 1", "method 2","method 3")
#plt.xticks(positions = [2,6,10], labels)

ax.set_xticklabels(['method 1','method 2','method 3'])
ax.set_xticks([2,6,10])

I get the violin plots as intended but I can't figure out how to add the labels correctly. I get the error:

module 'matplotlib.pyplot' has no attribute 'set_xticklabels'

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

故人的歌 2025-01-19 12:12:29
positions = (2, 6, 10)
labels = ( "m1", "m2","m3")
plt.xticks(positions, labels)
positions = (2, 6, 10)
labels = ( "m1", "m2","m3")
plt.xticks(positions, labels)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文