我想在Python中制作一个风扇图类型的线性图,类似于英格兰银行利率风扇图,如下所示:Bank of England Interest Rate fan charts。
我已经相当熟练地使用matplotlib制作标准的线条/条形/散点图,但这似乎需要更加自定义的实现。
我已经在Google上搜索了一番,似乎没有任何标准的Python库可以完成这样的事情,甚至没有任何描述如何完成这项工作的代码。
如果您能提供有关如何实现此目标的任何帮助,将不胜感激。
我已经相当熟练地使用matplotlib制作标准的线条/条形/散点图,但这似乎需要更加自定义的实现。
我已经在Google上搜索了一番,似乎没有任何标准的Python库可以完成这样的事情,甚至没有任何描述如何完成这项工作的代码。
如果您能提供有关如何实现此目标的任何帮助,将不胜感激。
matplotlib.pyplot.fillbetween
,来填充阴影区域。vals
,将其添加到原始信号y
中,并在它们之间填充。对于vals
中的每个val
,它修改了alpha
参数。它还绘制了信号y
本身,这与你的BoE图表不同,如果需要,您可以通过注释该行来删除它。import matplotlib.pyplot as plt
import numpy as np
N = 1000
x = np.linspace(0, 10, N)
y = x**2
ones = np.ones(N)
vals = [30, 20, 10] # Values to iterate over and add/subtract from y.
fig, ax = plt.subplots()
for i, val in enumerate(vals):
alpha = 0.5*(i+1)/len(vals) # Modify the alpha value for each iteration.
ax.fill_between(x, y+ones*val, y-ones*val, color='red', alpha=alpha)
ax.plot(x, y, color='red') # Plot the original signal
plt.show()
最近有一个Python的新进展,用于创建扇形图(fan plots)(详情请见以下链接):
https://quantgirl.blog/fan-charts/
这个库可以让你以类似英格兰银行的方式创建扇形图,并且还包含其他工具。
fill_between()
函数来绘制扇形,而灰色背景最简单的方法可能是使用Patch。 - cphlewis