for i in range(6):
labels_pos = {'bottom': "Time [s]"}
labels_vel = {'bottom': "Time [s]"}
if i == 0:
labels_pos['left'] = "Joint position [rad]"
labels_vel['left'] = "Joint velocity [rad/s]"
# plot lines
fig1 = self.graphicsViewResults.addPlot(row=0, col=i, title="Joint " + str(i + 1) + " position", labels=labels_pos, enableMenu=False)
plot1 = fig1.plot(x=result['time'], y=result['pos_act'][i], pen=self.pen_act)
plot2 = fig1.plot(x=result['time'], y=result['pos_des'][i], pen=self.pen_des)
fill = pg.FillBetweenItem(plot1, plot2, brush=self.brush_fill)
fig1.addItem(fill)
joint_limit_lower = self.robot.joints[i].limit['lower']
plot_limit = fig1.plot(x=[0, 100], y=[joint_limit_lower, joint_limit_lower], pen=self.pen_lim, fillLevel=-100, brush=self.brush_lim)
joint_limit_upper = self.robot.joints[i].limit['upper']
fig1.plot(x=[0, 100], y=[joint_limit_upper, joint_limit_upper], pen=self.pen_lim, fillLevel=100, brush=self.brush_lim)
fig2 = self.graphicsViewResults.addPlot(row=1, col=i, title="Joint " + str(i + 1) + " velocity", labels=labels_vel, enableMenu=False)
plot3 = fig2.plot(x=result['time'], y=result['vel_act'][i], pen=self.pen_act)
plot4 = fig2.plot(x=result['time'], y=result['vel_des'][i], pen=self.pen_des)
fill = pg.FillBetweenItem(plot3, plot4, brush=self.brush_fill)
fig2.addItem(fill)
velocity_limit = self.robot.joints[i].limit['velocity']
fig2.plot(x=[-100, 100], y=[-velocity_limit, -velocity_limit], pen=self.pen_lim, fillLevel=-1e10, brush=self.brush_lim)
fig2.plot(x=[-100, 100], y=[velocity_limit, velocity_limit], pen=self.pen_lim, fillLevel=1e10, brush=self.brush_lim)
########
# legend
########
vb = self.graphicsViewResults.addViewBox(row=2, col=0, colspan=DOF)
legend1 = pg.LegendItem()
legend1.addItem(plot1, "Actual")
legend1.setParentItem(vb)
legend1.anchor((0, 0), (0.4, 0))
legend2 = pg.LegendItem()
legend2.addItem(plot2, "Desired")
legend2.setParentItem(vb)
legend2.anchor((0, 0), (0.5, 0))
legend3 = pg.LegendItem()
legend3.addItem(plot_limit, "Joint limits")
legend3.setParentItem(vb)
legend3.anchor((0, 0), (0.6, 0))
self.graphicsViewResults.ci.layout.setRowFixedHeight(2, 50)