同时为pandas datafram中的matplotlib子批添加多个标签

2024-10-03 13:28:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我在这里迷路了,可能混淆了matplotlib和pandas功能。我有一个数据帧,我想在几个子图中绘制,以便对相关数据进行分组。如果我不能像我想的那样简单地使用传说,那就太可笑了。这是我的代码:

fig, (acceleration, rotation, rotationspeed) = plt.subplots(3, 1, sharex=True, figsize=(20,15))

acceleration.plot(params[['accX', 'accY', 'accZ']], label=['X', 'Y', 'Z'])
acceleration.set_title('Acceleration')
acceleration.set_ylabel('Acceleration (G)')
acceleration.grid(b = pref_grid_visible)
acceleration.legend()

rotation.plot(params[['roll', 'pitch', 'yaw']])
rotation.set_title('Rotation')
rotation.set_ylabel('Rotation angle (radians)')
rotation.grid(b = pref_grid_visible)

rotationspeed.plot(params[['rotX', 'rotY', 'rotZ']])
rotationspeed.set_title('Rotation speed')
rotationspeed.set_ylabel('Rotation speed (radians / second)')
rotationspeed.grid(b = pref_grid_visible)

# Set shared x label
fig.text(0.5, 0.1, 'Time (ms)')

标签不是从数据帧自动读取的,从matplotlib的文档中我了解到label应该包含一个字符串,这解释了为什么显示X、Y和Z轴加速的尝试不起作用。在

{1美元^

如何为每个子批次正确设置X、Y和Z标签?在


Tags: 数据plottitlematplotlibparamslabelgridset
1条回答
网友
1楼 · 发布于 2024-10-03 13:28:49

试试看

acceleration = params[['accX', 'accY', 'accZ']].plot(ax=acceleration)
#rest of code

您可以将一个轴传递给df.plot,它可以很好地处理图例,它返回的轴与您可以进一步操作的轴相同。在

另一种方法是

^{pr2}$

相关问题 更多 >