python - 无法使用线图进行可视化

标签 python matplotlib scatter-plot 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()

enter image description here

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

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

enter image description here

关于python - 无法使用线图进行可视化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60180245/

相关文章:

python - 递归:具有分布的账户值(value)

matplotlib check_buttons 框颜色

Python根据距离均匀分散固定中心周围的坐标

python - 自己制作的游戏。 Game Over 后不执行 Else 分支

python - vscode的测试资源管理器运行的Pytest在开发模式下找不到pip安装的模块

python - 更改轴样式 python

r - 如何创建具有负轴和正轴的散点图?

numpy - 在散点图中将值绘制为符号的最简单方法?

python - 适用于Docker的Google Cloud日志记录驱动程序不会收集日志

matplotlib - Julia:如何使用 PyPlot 创建不同大小的子图?