【发布时间】:2021-04-24 04:16:23
【问题描述】:
当通过下面的代码进行绘图时,我得到 c、d、e 绘图,但我只得到 plt.plot 的最后一个绘图
def normalize(x):
return (x - x.min(0)) / x.ptp(0)
c=sns.distplot(mk[0]['mass'], hist=True, label='p', rug=True)
d=sns.distplot(mk[1]['mass'], hist=True, label='q', rug=True)
e=sns.distplot(mk[2]['mass'], hist=True, label='r', rug=True)
datadist=[c,d,e]
xd=dict()
yd2=dict()
for i in datadist:
line = i.get_lines()[0]
xd[i] = line.get_xdata()
yd = line.get_ydata()
yd2[i] = normalize(yd)
plt.plot(xd[c], yd2[c],color='black')
plt.plot(xd[d], yd2[d],color='yellow')
plt.plot(xd[e], yd2[e],color='green')
【问题讨论】:
-
我已经展示了规范化函数是如何定义的。我想在一个图中绘制最后 3 行图。@JohanCpan>
-
是的,在单独的图中我想显示 plt.plot(xd[c], yd2[c],color='black') plt.plot(xd[d], yd2[d ],color='yellow') plt.plot(xd[e], yd2[e],color='green') 我不需要 c,d,e 的图 @JohanCpan>
标签: matplotlib seaborn