无法使用线图进行可视化

Can't visualize using a line plot

我已经使用 CSV 文件测试了 matlpotlib,其中 y 和 z 值未连接,如下所示。

我可以使用散点图可视化此数据,但无法连接这些点,但最终目标是使用线图创建连接图。为什么它不能用线图可视化?

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv(r'C:\Users\PythonTest\source\file.csv')
ax1 = plt.subplot2grid((1, 1), (0, 0))
x = df.time
y = df.gx
z = df.sp
# ax1.scatter(x, y, color='k', s=0.1)
# ax1.scatter(x, z, color='c', s=0.1)
ax1.plot(x, y, color='k')
ax1.plot(x, z, color='c')
plt.show()

您可以散点图绘制不连续的值,但不能绘制一行不连续的值,因为 matplotlib 无法神奇地知道您想要指定值之间的值。是否将缺失值视为 0?作为以前的价值?还有别的吗?

完成我认为您可能想要的方法的一种方法是删除缺失值。让我们做时间和 gx:

time_gx = df.drop(columns=['sp']).dropna()
plt.plot(time_gx['time'], time_gx['gx'])
plt.xlabel('time')
plt.ylabel('gx')
plt.show()

如果您想将缺失值视为最后指定的值,只需使用 ffill:

df2 = df.ffill()
plt.plot(df2['time'], df2['gx'])
plt.xlabel('time')
plt.ylabel('gx')
plt.show()