Python matplotlib-如何绘制多个系列的折线图?

时间:2018-11-11 18:11:43

标签: python pandas dataframe matplotlib

我有一个如下所示的python pandas数据框:

    test_score  param   # of Nodes
0   0.497852    relu        1
1   0.68935     relu        2
2   0.701165    relu        3
3   0.735223    identity    1
4   0.735064    identity    2
5   0.735691    identity    3
6   0.72651     logistic    1
7   0.664837    logistic    2
8   0.743445    logistic    3
9   0.705182    tanh        1
10  0.673399    tanh        2
11  0.684129    tanh        3

我想绘制一个折线图,其中x轴为“节点数”,y轴为“ test_score”,四个参数值“ relu,identity,logistic,tanh”作为4条系列线。

可以在python matplotlib中绘制此图表吗?

2 个答案:

答案 0 :(得分:1)

如果您拥有示例中所有参数的所有节点,则可以.pivot DataFrame到一种更合适的格式来绘制它们。

df.pivot(index='# of Nodes', columns='param', values='test_score').plot()

enter image description here

答案 1 :(得分:0)

您可以先按param进行分组,然后遍历各个组并进行绘图:

g = df.groupby('param')

for p, data in g:
    plt.plot(data['# of Nodes'], data['test_score'], label=p)

plt.legend()
plt.xlabel('# of Nodes')
plt.ylabel('Test Score')

plt.show()

enter image description here