我想同时向plt.plot对象添加标签。matplotlib我真的很困惑,因为似乎有上百万种方法来描绘一个数字。有些人做fig, ax = plt.subplots,而有些人只是plt.plot。如果我搜索,我可以找到更多。在
不管怎样,我怎样才能把所有的标签都加在数据上,在一行没有循环的情况下?我一直在试验seaborn,但我不知道如何使它生成普通的线图,这就是我使用matplotlib的原因。在
在matplotlib或seaborn中是否有某种类型的方法,您可以给它一个要绘制的数据点数组(在本例中是80个点的3个样本)以及获得这种类型绘图的标签?
在下面给出我的代码,这样您就可以看到我构建绘图所用的数据帧,但是这个问题最重要的部分是在#____________________________之后"""Softmax."""
scores = [3.0, 1.0, 0.2]
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
def softmax(x):
"""Compute softmax values for each sets of scores in x."""
return(np.exp(x) / np.sum(np.exp(x),axis=0))
# Plot softmax curvesy
x = np.arange(-2.0, 6.0, 0.1)
scores = np.vstack([x, np.ones_like(x), 0.2 * np.ones_like(x)])
DF_activation = pd.DataFrame(softmax(scores).T,index=x,columns=["x","1.0","0.2"])
#____________________________
#I have to add them like this
[plt.plot(DF_activation.index,DF_activation[c], linewidth=3,label=c) for c in DF_activation.columns]
#But I want to add them like this
#plt.plot(DF_activation.index,DF_activation,label=DF_activation.columns,linewidth=2)
plt.xlabel("x")
plt.ylabel("softmax")
plt.legend()
plt.show()