如何使用matplotlib在python中绘制纵向数据/重复测量?

时间:2016-05-26 14:41:24

标签: python pandas matplotlib plot seaborn

如何使用例如matplotlib在python中绘制纵向数据。

from pandas import DataFrame
from scipy.stats import norm
from scipy.stats import randint
import numpy as np
import pandas as pd

# some sample data
df = DataFrame({
    'one' : norm.rvs(loc=12, size=10),
    'two' : norm.rvs(loc=5, size=10),
    'three' : norm.rvs(loc=7, size=10),
    'four' : norm.rvs(loc=3, size=10),
    'type' : ['type-%i' % i for i in randint.rvs(0,3,size=10)]})

如何在x轴上绘制重复测量的标签:一 - 二 - 三 - 四,并且对于10个样本中的每一个,连接各自值的线?如何按类型为每个样本着色?

1 个答案:

答案 0 :(得分:0)

我没有理解连接线的这一部分,但也许这就是你想要的东西:

fig, ax = plt.subplots( 1, 1 )

ax.plot( np.zeros(len(df.one))+1, df.one, '.' )
ax.plot( np.zeros(len(df.two)) + 2, df.two, '.' )
ax.plot( np.zeros(len(df.three)) + 3 , df.three, '.' )
ax.plot( np.zeros(len(df.four)) + 4, df.four, '.' )

ax.set_xticks([1,2,3,4]);
ax.set_xticklabels(( 'one', 'two', 'three', 'four' ))
ax.set_xlim([0,5]);

结果如下:

enter image description here