绘制大熊猫:分组线图

时间:2015-07-07 16:48:33

标签: python-3.x pandas matplotlib seaborn

我有以下格式的pandas数据框:

groups  value
1       0
0       0
0       0
0       0.1
1       0.4
1       0.5
0       0.5
1       0.8
0       0.8
1       0.9
1       1
1       1
1       1
1       1
0       1
0       1

我想要一个在y轴上具有值的排序线图,如下所示:

example graph

无论如何:我也想在同一个情节中为每个小组设一个类似的线。 (或者只是组的两行,但它们的大小不同)

有人可以帮帮我吗?我觉得那可能吗?

我使用python 3.x和pandas 0.16.2。我更喜欢使用matplotlib或seaborn。

1 个答案:

答案 0 :(得分:3)

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

df = pd.read_csv('/home/Jian/Downloads/real_data.csv')

# processing
# ==========================
fig, ax = plt.subplots()
ax.set_ylim([0, 1.2])
count = 0

def func(group):
    group.sort('value', inplace=True)
    x = np.linspace(0, 1, len(group))
    global ax, count
    if count > 0:
        ax.plot(x, group.value, label=group.groups.values[0])
    count += 1
    return group

df.groupby('groups').apply(func)
ax.legend(loc='best')

enter image description here