1 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個(gè)贊
首先,我強(qiáng)烈建議您使用該pandas庫及其DataFrame對象來處理您的數(shù)據(jù)。它有一些非常有用的功能,例如read_csv,可以為您節(jié)省一些工作。
為了讓 matplotlib 空間更合理,您需要將日期轉(zhuǎn)換為datetime對象(而不是將日期存儲為字符串)。
在這里,我將使用 Pandas 讀取您的數(shù)據(jù),解析日期并按日期排序:
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
# Read data
df = pd.read_csv('/path/to/test.csv', names=['date', 'freq'], parse_dates=['date'])
# Sort by date
df.sort_values(by='date', inplace=True)
然后您可以繼續(xù)繪制數(shù)據(jù)(您需要最新版本的熊貓來自動處理日期):
fig, ax = plt.subplots(1, 1)
# Plot date against frequency
ax.plot(df['date'], df['freq'], 'r-o')
# Rotate the tick labels
ax.tick_params(axis='x', rotation=45)
fig.tight_layout()
如果你只是想顯示的日期時(shí)的頻率變化,下面將工作
ax.set_xticks(df.loc[np.diff(df['freq']) != 0, 'date'])
雖然我不會推薦它(不等間距看起來很亂)
添加回答
舉報(bào)