在 python 中绘制变异丰度与时间(例如,突变株)的关系图

Plot variant abundance vs. time (e,g, of mutant strains) in python

随着时间的推移,给定多个变体中每个变体的 [绝对] 数字,我想生成如下图:

Python 中是否有此功能(最好在 matplotlib 中,但不一定)?一般来说,这些地块有名字吗?我很难用谷歌搜索它,尽管我过去曾多次见过它们。

这种类型的图称为“时间堆栈图”matplotlib 具有用于构建时间堆栈图的内置函数。语法是:

matplotlib.pyplot.stackplot(x, y1, y2, ..., yn, colors=None, ...)

在您的情况下,x 是时间(例如以月为单位),y1,...,yn 是每个菌株的丰度,colors 表示 y1,...,yn 的颜色图。 (还有其他可选参数。)这是一个使用示例:

import matplotlib.pyplot as plt

days = [1,2,3,4,5]

sleep = [6,7,5,8,6]
eat =   [2,2,1,2,1]
work =  [5,7,10,8,6]
exercise=  [3,3,0,1,3]


plt.plot([],[],color='green', label='sleep', linewidth=3)
plt.plot([],[],color='blue', label='eat', linewidth=3)
plt.plot([],[],color='red', label='work', linewidth=3)
plt.plot([],[],color='black', label='play', linewidth=3)

plt.stackplot(days, sleep, eat, work, exercise, colors=['green','blue','red','black'])

plt.xlabel('days')
plt.ylabel('activities')
plt.title('5 DAY ROUTINE')
plt.legend()
plt.show()

产生这个情节:

有关详细信息,请参阅此页面:https://www.educative.io/edpresso/how-to-create-a-stack-plot-using-matplotlib

来自 seaborn 包的密度图似乎是你的情况

import seaborn as sns
sns.kdeplot(...)

来自 pygal

的堆积图
import pygal
pygal.StackedLine(...)

StackPlot 来自 matplotlib

import matplotlib.pyplot as plt
plt.stackplot(...)