簡體   English   中英

使用時間戳作為 x 軸的索引繪制 python pandas 數據幀顯示迭代數字

[英]Plotting python pandas dataframe with timestamps as indices for x-axis shows iterating numbers

有幾天,我嘗試使用 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/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_ticks,將索引類型轉換為其他內容等等(我不記得全部了)。 但我總是只看到這些數字。 充其量我只想看到分鍾和秒。

我究竟做錯了什么? 這不可能那么難。

csv 看起來像這樣:

在此處輸入圖片說明

情節是這樣的:

在此處輸入圖片說明

考慮到創建的圖形和 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()

有點奇怪,但是使用交互式繪圖工具,我必須運行最后一個代碼塊兩次才能顯示秒數。 否則它會顯示我的天、小時、分鍾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM