gpt4 book ai didi

python - 如何在跨度矩形顶部绘制 fiddle 图的主体?

转载 作者:太空宇宙 更新时间:2023-11-04 02:02:38 24 4
gpt4 key购买 nike

我想在背景颜色之上做一个 fiddle 图。我使用 axvspan 创建背景。我的问题是:我找不到让 fiddle 情节的主体( fiddle 形状)出现在背景颜色之上的方法。它只能通过背景的透明度可见。由于 violin-plot 无法识别 zorder 命令,有没有办法让 violin-plot 位于所有内容之上?

例如:

import numpy as np
import matplotlib.pyplot as plt

plt.figure()
plt.axvspan(-5,0,color='r' ,alpha =0.5)
plt.axvspan(0,5,color='g' ,alpha =0.5)
plt.violinplot(np.random.normal(0,1,100), vert = False)

enter image description here

可以看到 fiddle 形状的蓝色出现在背景颜色(红色和绿色)的透明度中。我希望密度形状的蓝色位于所有内容之上。

最佳答案

这个问题类似于Changing the color of matplotlib's violin plots虽然不完全一样。我不会重复 Nick T 在 his answer 中写的内容。 (一定要感谢他),但只需添加 PolyCollection还有set_alphaset_zorder方法,您可以像这样使用:

plt.figure()
plt.axvspan(-5, 0, color='r', alpha=0.5, zorder=1)
plt.axvspan(0, 5, color='g', alpha=0.5, zorder=1)
parts = plt.violinplot(np.random.normal(0, 1, 100), vert=False)
parts['bodies'][0].set_alpha(0.8)
parts['bodies'][0].set_zorder(2)

给予:

enter image description here

关于python - 如何在跨度矩形顶部绘制 fiddle 图的主体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55413916/

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