matplotlib 可以绘制递减数组吗?
Can matplotlib plot decreasing arrays?
我正在处理在驾驶模拟器中收集的一些数据,我需要根据位置绘制速度。我设法将速度和位置值转换为 2 个 numpy 数组。由于模拟器的设置,location数组在不断减少。示例数组为 [5712.114 5711.662 5711.209 ... 3185.806 3185.525 3185.243]
。同样,速度阵列也在减少,因为我们正在测试刹车行为。示例数组:[27.134 27.134 27.134 ... 16.87 16.872 16.874]
.
所以,当我绘制这两个数组时,我应该看到的应该是一条负斜率线,并且 x 轴和 y 轴的数字都应该递减。我使用下面的代码绘制它们:
plotting_x = np.array(df["SubjectX"].iloc[start_index-2999:end_index+3000])
plotting_y = np.array(df["Velocity"].iloc[start_index-2999:end_index+3000])
plt.plot(plotting_x, plotting_y, "r")
我看到的是这里附上的图表。任何人都知道出了什么问题? Matplotlib 不允许递减级数吗?谢谢! Matplotlib plot
问题是默认情况下 matplotlib
总是定义 x
轴递增,因此它将按照该规则映射点。尝试通过 dong 反转它:
ax = plt.gca()
ax.invert_xaxis()
plot
调用后。
据我了解,由于位置和速度都在下降,所以情节没有错,只是第一个点在右上角,最后一个点在左下角。
乍一看,我还会说位置总是在下降(车辆永远不会跳回),而速度有一个更有趣的行为。
您可以检查是否是这种情况,用两种颜色分两步绘制:
plotting_x = np.array(df["SubjectX"].iloc[start_index-2999:end_index])
plotting_y = np.array(df["Velocity"].iloc[start_index-2999:end_index])
plt.plot(plotting_x, plotting_y, "r", label="first")
和
plotting_x = np.array(df["SubjectX"].iloc[start_index:end_index+3000])
plotting_y = np.array(df["Velocity"].iloc[start_index:end_index+3000])
plt.plot(plotting_x, plotting_y, "b", label="second")
然后:
plt.legend()
plt.show()
要获得更常用的表示,您可以反转轴或使用:
plotting_x = some_number - np.array(df["SubjectX"].iloc[start_index-2999:end_index+3000])
我正在处理在驾驶模拟器中收集的一些数据,我需要根据位置绘制速度。我设法将速度和位置值转换为 2 个 numpy 数组。由于模拟器的设置,location数组在不断减少。示例数组为 [5712.114 5711.662 5711.209 ... 3185.806 3185.525 3185.243]
。同样,速度阵列也在减少,因为我们正在测试刹车行为。示例数组:[27.134 27.134 27.134 ... 16.87 16.872 16.874]
.
所以,当我绘制这两个数组时,我应该看到的应该是一条负斜率线,并且 x 轴和 y 轴的数字都应该递减。我使用下面的代码绘制它们:
plotting_x = np.array(df["SubjectX"].iloc[start_index-2999:end_index+3000])
plotting_y = np.array(df["Velocity"].iloc[start_index-2999:end_index+3000])
plt.plot(plotting_x, plotting_y, "r")
我看到的是这里附上的图表。任何人都知道出了什么问题? Matplotlib 不允许递减级数吗?谢谢! Matplotlib plot
问题是默认情况下 matplotlib
总是定义 x
轴递增,因此它将按照该规则映射点。尝试通过 dong 反转它:
ax = plt.gca()
ax.invert_xaxis()
plot
调用后。
据我了解,由于位置和速度都在下降,所以情节没有错,只是第一个点在右上角,最后一个点在左下角。
乍一看,我还会说位置总是在下降(车辆永远不会跳回),而速度有一个更有趣的行为。
您可以检查是否是这种情况,用两种颜色分两步绘制:
plotting_x = np.array(df["SubjectX"].iloc[start_index-2999:end_index])
plotting_y = np.array(df["Velocity"].iloc[start_index-2999:end_index])
plt.plot(plotting_x, plotting_y, "r", label="first")
和
plotting_x = np.array(df["SubjectX"].iloc[start_index:end_index+3000])
plotting_y = np.array(df["Velocity"].iloc[start_index:end_index+3000])
plt.plot(plotting_x, plotting_y, "b", label="second")
然后:
plt.legend()
plt.show()
要获得更常用的表示,您可以反转轴或使用:
plotting_x = some_number - np.array(df["SubjectX"].iloc[start_index-2999:end_index+3000])