如何在python中创建堆叠线的绘图?

2024-06-17 09:04:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有300个细胞在200个时间步内的荧光值。我想把它们都画在同一个图形上,一个叠在另一个上面。我不想绘制堆积面积图。下面的图片是我要找的,但本质上是每个细胞的数据绘制在各自的y轴上,所有细胞都有相同的x轴。你知道吗

image here


Tags: 数据图形时间绘制图片细胞荧光面积
2条回答

例如,您可以执行以下操作:

your_df.plot(subplots=True, layout=(10,30));

python中的主要绘图工具(与pandas一起工作)是matplotlib(旧的)和seaborn(新的和一个小爱好者)。你知道吗

查看seaborn的文档(https://seaborn.pydata.org/tutorial/axis_grids.html)和配方页(https://python-graph-gallery.com/122-multiple-lines-chart/) 对于多组分合成图,可以如下所示显示荧光数据:

# libraries
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

# Data
df=pd.DataFrame({'x': range(100), 
                 'trace1': np.random.randn(100), 
                 'trace2': np.random.randn(100)+10, 
                 'trace3': np.random.randn(100)+20})

# multiple line plot
plt.plot( 'x', 'trace1', data=df, marker='', color='black', linewidth=2)
plt.plot( 'x', 'trace2', data=df, marker='', color='black', linewidth=2)
plt.plot( 'x', 'trace3', data=df, marker='', color='black', linewidth=2, label="GluK1c")
plt.legend()

我不喜欢那种黑客(给每个跟踪y值加上数字),因为应该有一种方法可以在matplotlib内偏移你的y轴值,但我在谷歌搜索时找不到这个选项。你知道吗

在这种情况下,因为你想要最简单的黑线痕迹(神经科学期刊所期望的),matplotlib和seaborn是可比的。你知道吗

有关大量图例位置/格式选项,请参见https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.legend.htmlenter image description here

我真希望我在实验室工作的时候有这些工具。会比我那时做的好得多。你知道吗

相关问题 更多 >