以时间戳作为x轴索引绘制python数据帧显示迭代数字
有几天我试图用pandas和Matplotlib在a轴上显示时间戳。但出于某种原因,它总是显示一些迭代数字,我无法控制自己 这是我的密码:以时间戳作为x轴索引绘制python数据帧显示迭代数字,python,pandas,csv,datetime,matplotlib,Python,Pandas,Csv,Datetime,Matplotlib,有几天我试图用pandas和Matplotlib在a轴上显示时间戳。但出于某种原因,它总是显示一些迭代数字,我无法控制自己 这是我的密码: import numpy as np import pandas as pd import matplotlib.pyplot as plt import datetime %matplotlib plt.ion() df = pd.read_csv('~/Development/ProgressionMovement/Data/03-02-pull/4
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import datetime
%matplotlib
plt.ion()
df = pd.read_csv('~/Development/ProgressionMovement/Data/03-02-pull/44#03-02_07-49_measurePoints.csv', index_col = 'timestamp', parse_dates = True)
for column in df.columns:
if column != 'timestamp':
df[column] = pd.to_numeric(df[column], downcast='float')
for index, row in df.iterrows():
for column in df.columns:
if column != 'timestamp':
df[column][index] = row[column] / 100
df.plot()
我已经做了很多尝试,设置了x_刻度,将索引类型转换为其他类型或更多类型(我记不清所有内容)。但我总是只看到这些数字。充其量我只想看分秒
我做错了什么?这不会那么难
csv如下所示:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import datetime
import matplotlib.dates as dates
%matplotlib
plt.ion()
df = pd.read_csv('~/Development/ProgressionMovement/Data/03-02-pull/44#03-02_07-49_measurePoints.csv', index_col = 'timestamp', parse_dates = True)
for column in df.columns:
if column != 'timestamp':
df[column] = pd.to_numeric(df[column], downcast='float')
for index, row in df.iterrows():
for column in df.columns:
if column != 'timestamp':
df[column][index] = row[column] / 100
ax=plt.gca()
ax.set_xticks(df.index)
xfmt = dates.DateFormatter('%M:%S:%f')
ax.xaxis.set_major_formatter(xfmt)
df.plot()
情节是这样的:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import datetime
import matplotlib.dates as dates
%matplotlib
plt.ion()
df = pd.read_csv('~/Development/ProgressionMovement/Data/03-02-pull/44#03-02_07-49_measurePoints.csv', index_col = 'timestamp', parse_dates = True)
for column in df.columns:
if column != 'timestamp':
df[column] = pd.to_numeric(df[column], downcast='float')
for index, row in df.iterrows():
for column in df.columns:
if column != 'timestamp':
df[column][index] = row[column] / 100
ax=plt.gca()
ax.set_xticks(df.index)
xfmt = dates.DateFormatter('%M:%S:%f')
ax.xaxis.set_major_formatter(xfmt)
df.plot()
考虑到创建的图形以及ax1是子地块, 在x轴上绘制时间时,我的转到线为:
import matplotlib.dates as mdates
import matplotlib.pyplot as plt
plt.gca().xaxis.set_major_locator(mdates.AutoDateLocator())
ax1.xaxis.set_major_formatter(mdates.DateFormatter('%H:%M:%S'))
ax1.set_xticks(datas)
好吧,有了一些提示,“沃恩是上帝”给了我,我能够显示正确的x标签。代码现在如下所示:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import datetime
import matplotlib.dates as dates
%matplotlib
plt.ion()
df = pd.read_csv('~/Development/ProgressionMovement/Data/03-02-pull/44#03-02_07-49_measurePoints.csv', index_col = 'timestamp', parse_dates = True)
for column in df.columns:
if column != 'timestamp':
df[column] = pd.to_numeric(df[column], downcast='float')
for index, row in df.iterrows():
for column in df.columns:
if column != 'timestamp':
df[column][index] = row[column] / 100
ax=plt.gca()
ax.set_xticks(df.index)
xfmt = dates.DateFormatter('%M:%S:%f')
ax.xaxis.set_major_formatter(xfmt)
df.plot()
这有点奇怪,但是使用交互式绘图工具,我必须运行最后一个代码块两次以显示秒数。否则它会告诉我一天,一小时,一分钟