python - 如何在不重叠的情况下填充行之间的空格?
问题描述
我想填充以下行之间的空间,但是有些空间似乎重叠。有没有办法禁用重叠的阴影区域?在图像中,重叠区域稍暗。有没有办法摆脱它。
代码是我想要的一个例子,实际上会有很多行
x = np.linspace(0,6,100)
y1 = np.exp(-x)*np.sin(x)
y2 = np.exp(-x)*np.cos(x) + np.exp(-x)*np.sin(x)
y3 =np.exp(-x)*np.cos(-x) + np.exp(-x)*np.sin(-x)
plt.plot(x,y1,'k')
plt.plot(x,y2,'k')
plt.plot(x,y3,'k')
plt.fill_between(x, y1, y2,color='m',alpha=0.2)
plt.fill_between(x, y2, y3,color='m',alpha=0.2)
plt.show()
解决方案
听起来您想遮蔽最低线和最高线之间的区域。我已经稍微更改了您的代码以使用数组作为行,这使得一次完成所有事情变得更容易。请注意,这如何简化对初始黑线图的调用以及在该数组的列上取最大值和最小值的想法。
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,6,100)
ys = np.array([
np.exp(-x)*np.sin(x),
np.exp(-x)*np.cos(x) + np.exp(-x)*np.sin(x),
np.exp(-x)*np.cos(-x) + np.exp(-x)*np.sin(-x),
])
plt.plot(x, ys.T, 'k')
plt.fill_between(x, np.min(ys, axis=0), np.max(ys, axis=0), color='m', alpha=0.2)
plt.show()
此图中的结果:
推荐阅读
- spring-boot - 如何在spring boot的jsp页面中获取模型addAttribute
- python - 如何在同一个图中绘制多个数据帧 csv
- php - QLSTATE[HY093]:参数号无效:未定义参数
- php - 使用带有 SET 的 PHP UPDATE 作为设置为另一个变量的变量?
- bash - 如何将 OMV (OpenMediaVault) 的文件系统与 Owncloud 数据库同步
- git - xamarin 形式:我的解决方案中的 package.json 在哪里
- python - 如何将伪代码转换为 Python 2.x?
- java - Selenium WebDriver 登录 MondoZoo
- python - 无法解压不可迭代的 numpy.float64 对象 python3 opencv
- mysql - 如何使用 mysql 连接从多于两 (2) 个表中删除