我知道如何制作直方图,但我想重现这张图片:
原文由Andrew Karplus等人撰写的PNAS(期刊)论文。 2011。
我有自己的直方图中的以下图像:
我有以下问题:
1)如何在平滑直方图的情况下启动绘图?
2)如何在我的情节(第2张图片)中叠加但不扭曲颜色,省略外部阴影中内部点以及产生干净叠加的点?
答案 0 :(得分:1)
您可以使用fill_between
:
import numpy as np
import matplotlib.pyplot as plt
def gaussian(x, x0, y0, variance):
return y0 * np.exp(-(x - x0) ** 2 / variance)
x = np.linspace(150, 210, 100)
plt.fill_between(x, 0, gaussian(x, 180, 5000, 30), color='red', zorder=0)
plt.fill_between(x, 0, gaussian(x, 181, 4500, 10), color='blue', zorder=1)
plt.show()
产量
上面我使用gaussian
来生成数据的替代品;您可以用实际的直方图值替换gaussian(...)
。