python - 如何在 matplotlib 中的曲线之间进行插值?
问题描述
我试图在中间有空白的曲线之间进行插值,如下图所示。为此,我正在使用 matploblib 库和 Python 3。我试图在网上找到一些资源,但是对于像我这样的初学者来说找不到任何很好的东西。正如我提到的,我正在使用 matplotlib,但我愿意使用其他可能对此更好的库(seaborn?)。谢谢!
更新:正如评论中所建议的,我尝试使用该plt.fill_between()
方法,插值 = True 和一个新的颜色图(viridis)。但是,结果如下。有些东西不工作。有什么建议么?我在下面附上了我的情节的代码。
import Model
rates = [rate for rate in range(1, 10000, 100)]
starts = [rates[jj] / 27 for jj in range(len(rates))]
combo = dict(zip(rates, starts))
curves = [model.Model(start=combo[rt], R=rt) for rt in combo.keys()]
for curve in curves:
curve.run_model()
to_plot = ['SO4', 'H2S', 'd34S_s', 'd34S_H2S']
logged = [log(xx) for xx in curves[0].f_in]
colors = plt.cm.viridis(np.linspace(0, 1, len(rates)))
for obj in curves:
for element in to_plot:
plt.subplot(2, 2, to_plot.index(element) + 1)
plt.plot(logged,
getattr(obj,element),color=colors[curves.index(obj)])
plt.fill_between(logged, getattr(obj, element), interpolate=True, cmap='viridis')
sm = plt.cm.ScalarMappable(cmap='viridis', norm=plt.Normalize(vmin=min(rates), vmax=max(rates)))
plt.colorbar(sm,label=var)
plt.show()
解决方案
推荐阅读
- dataset - 从哪里我可以得到多时相卫星图片
- c# - C# 驱动程序中的 MongoDB 评估查询表达式
- java - Bengli 文本上的 iText7 排版 IndexOutOfBoundsException
- python - Django DeleteView 找不到数据库对象
- regex - Ansible regex_replace 不起作用
- html - 自动播放在 html 5 中嵌入视频
- go - nvim-go 的安装失败并显示“未定义的变量:g:go#debug”
- apache-spark - 根据列值拆分数据集
- html - 如何使用引导程序在缩略图内保持所有图像的高度和宽度相同
- c# - 更改 .csproj 中构建设置的程序集名称