Python,从DataFrame创建绘图

时间:2016-05-30 10:07:27

标签: python matplotlib

我有一个DataFrame,如下所示:

        C    gamma  precision
0     1.0  0.00001   0.044040
1     1.0  0.00010   0.044063
2     1.0  0.00100   0.349788
3     1.0  0.01000   0.359441
4     1.0  0.10000   0.367857
5    10.0  0.00001   0.090369
6    10.0  0.00010   0.347510
7    10.0  0.00100   0.358762
8    10.0  0.01000   0.354194
9    10.0  0.10000   0.337157
10   50.0  0.00001   0.340957
11   50.0  0.00010   0.356938
12   50.0  0.00100   0.357969
13   50.0  0.01000   0.365525
14   50.0  0.10000   0.318042
15  100.0  0.00001   0.348168
16  100.0  0.00010   0.358309
17  100.0  0.00100   0.353821
18  100.0  0.01000   0.356823
19  100.0  0.10000   0.311630

我正在努力创建类似于此的情节: enter image description here

Gamma是X轴,Precision是Y轴,每一行代表C的唯一值。

1 个答案:

答案 0 :(得分:3)

为了使用唯一的C绘制每一行,您可以执行以下操作:

pl.figure()
ax=pl.gca()
for c in df['C'].unique():
    df.loc[df['C'] == c].plot(ax=ax, x='gamma', y='precision', label='C: {}'.format(c))

df['C'].unique()创建一个包含所有唯一值C的数组,df.loc[df['C'] == c]选择具有相同值C的所有行,并设置x y的{​​{1}}参数可以绘制一列与另一列。