[英]How to plot the data on two y-axis in pandas or matplotlib?
我有一个数据框,它结合了 FER(面部情绪识别)和情绪预测
现在,情绪预测数据集有两列 - 问题和预测。 问题代表三个值 [1 - 激活; 2 - 愉悦; 5- Stress] 并且预测列也有三个值 [0 - Low; 1 - 中等; 2 - 高]。 索引由时间戳组成。
我想对下面的屏幕截图3进行简要说明。 让我们考虑第三行,其中问题值为 5,预测值为 1。这表示中 (1) 级的压力 (5)。
如何随时间绘制问题值的预测? 我试图这样做,但我只得到一条线。
d = one.groupby('question')
dunk1 = d.get_group(1)
fig, ax1 = plt.subplots(figsize = (20,5))
x = one.index
y = one.prediction
ax1.plot(x,y,'r-')
我尝试的代码图
我希望获得类似于以下内容的输出:
数据集截图
您正在从原始数据帧而不是分组数据帧中绘制x
和y
,您应该这样做
d = one.groupby('question')
dunk1 = d.get_group(1)
fig, ax1 = plt.subplots(figsize = (20,5))
x = dunk1.index
y = dunk1.prediction
ax1.plot(x,y,'r-')
或者绘制所有三个问题组
d = one.groupby('question')
fig, ax = plt.subplots(figsize = (20,5))
for k in d.groups.keys():
group = d.get_group(k)
ax.plot(group.index, group.prediction)
但是请理解,这可能无法让您一直获得想要的结果 - 可能需要更多的过滤或排序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.