BaB*_*BaB 2 python graph matplotlib gpx pandas
我在学习 Python 时正在学习本教程(https://towardsdatascience.com/how-tracking-apps-analysis-your-gps-data-a-hands-on-tutorial-in-python-756d4db6715d)。
我正处于要绘制“时间”和“海拔”的步骤。但是当我这样做时:
plt.plot(df['time'], df['ele'])
plt.show()
Run Code Online (Sandbox Code Playgroud)
我收到错误“'NoneType' 对象没有属性 'offset'”。如果我绘制“经度”和“纬度”,一切正常。我自己找不到解决这个问题的方法。到目前为止,这是“我的”代码:
import gpxpy
import matplotlib.pyplot as plt
import datetime
from geopy import distance
from math import sqrt, floor
import numpy as np
import pandas as pd
import chart_studio.plotly as py
import plotly.graph_objects as go
import haversine
#Import Plugins
gpx_file = open('01_Karlsruhe_Schluchsee.gpx', 'r')
gpx = gpxpy.parse(gpx_file)
data = gpx.tracks[0].segments[0].points
## Start Position
start = data[0]
## End Position
finish = data[-1]
df = pd.DataFrame(columns=['lon', 'lat', 'ele', 'time'])
for point in data:
df = df.append({'lon': point.longitude, 'lat' : point.latitude,
'ele' : point.elevation, 'time' : point.time}, ignore_index=True)
print(df)
plt.plot(df['time'], df['ele'])
plt.show()
Run Code Online (Sandbox Code Playgroud)
小智 5
从“时间”列中删除时区可能会奏效。您可以使用tz_localize. 请注意,您必须调用方法dt来访问列日期时间属性:
df['time'] = df['time'].dt.tz_localize(None)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
534 次 |
| 最近记录: |