Matplotlib:时间序列的线图,颜色的变化取决于从另一列获取的分类值

时间:2018-10-11 16:36:17

标签: python matplotlib seaborn

我是一名生物学专业的学生,​​在想绘制一个数据框时遇到了一些麻烦。我通过以下方式组织了几种测量:

     Phase     ID   NormInt  Frame  ROI        Area       MeanInt    
0    G1  cell0  0.003551      1    1  102.342229   2734.365854    
1     M  cell1  0.664705      1    2  309.106813  18903.145357    
2    G1  cell0  0.003179      2    1   97.765950   2725.285106    
3     M  cell1  0.689675      2    2  289.969648  19513.804878    
4    G1  cell0  0.004376      3    1   97.765950   2754.544681  

我想要做的是在同一张图中绘制一张图,在该图中我可以看到每个单元ID随时间的变化(x =帧),具体取决于强度(y = NormInt)。该行应为根据“阶段”(Phase)列中的类别值更改颜色的行。

我该怎么做?现在,我只能使用以下代码进行单独的散点图:

fig, ax = plt.subplots(1, 1, figsize=(10,7)) 
for cell, grp in mchlabel.groupby("ID"):
    if cell != "NaN":
       sns.lmplot( x="Frame", y="NormInt", data=grp, fit_reg=False, hue='Phase', legend=True)
plt.legend(loc='lower right')

这里是一个示例: scatterplot

谢谢!! 露兹

0 个答案:

没有答案