python - 避免 matplotlib 中的重叠不透明度
问题描述
如果我想绘制两条相互交叉的不透明线,你会在它们相交的区域得到一个不透明度更高的区域:
import matplotlib.pyplot as plt
plt.plot([-1, 1], [0, 0], 'k-', lw=10, alpha=0.5, zorder=1)
plt.plot([0, 0], [-1, 1], 'k-', lw=10, alpha=0.5, zorder=1)
plt.show()
有没有办法避免这种情况,并且交叉区域也具有与其余线条完全相同的颜色和不透明度?
解决方案
我在使用 ax.axhspan / ax.axvspan 时遇到了同样的问题。
ax.axvspan(min(x), max(x), facecolor=colors_dict[levels[0]], alpha=0.5)
ax.axhspan(min(y), max(y), facecolor=colors_dict[levels[0]], alpha=0.5)
对于我当前的用例,选择较浅的颜色并通过设置将区域移到后面就足够了'alpha=1'
和'zorder =-10'
。
但我担心,这不会是一个解决方案,因为我希望稍后需要与其他一些区域进行透明绘图。因此,正如上面@tom10 链接的帖子中提到的那样,一个实际的功能会很有用。
推荐阅读
- java - 即使使用 -keep,kotlin 类的构造函数中的参数名称也会被 proguard 删除
- spring-boot - Spring boot actuator:当其他执行器的端点受到保护时,健康端点未显示详细信息
- javascript - 如何用javascript输入测量圆的表面?
- javascript - 从左到右移动画布 - 从右到左,改变颜色和大小
- c - 如何在内联汇编中使用变量偏移量?
- python - 将 numpy 嵌入到 zipapp 存档中
- python - 如何处理熊猫中小块的数据?
- r - apply - 在移动行之前测试多个条件
- java - 将 JsonFile 读取到 ArrayList
- nativescript - 用于 Nativescript-Vue 的搜索栏的 DismissSoftInput()