簡體   English   中英

如何在 matplotlib 中繪制 200 行(時間序列)並使其在 x 軸上可讀?

[英]How can plot 200 rows (time series) in matplotlib and make it readable in the x-axis?

嘿伙計們,這是我的代碼。

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import numpy as np

banco=pd.read_csv('banco central3.csv',index_col='Fecha',parse_dates=['Fecha'], usecols=. 
['RRII','Fecha'])
print(banco.head())
fig, ax = plt.subplots(figsize=(10, 10))

ax.bar(banco.index.values,
    banco['RRII'],
    color='purple')


ax.xaxis.set_major_locator(mdates.WeekdayLocator())
ax.xaxis.set_major_formatter(mdates.DateFormatter('%m-%Y'))


ax.set(xlabel="DATE",
   ylabel="RRII",
   title="\nReservas Internacionales")
plt.tight_layout()
plt.show()

作為繪圖的輸出如下。 數據(x 軸)不可讀。

datetime('Fecha') 大約有 200 行。 我想澄清 X 軸以使其可讀。

而且我也不知道為什么條形圖看起來那樣(在它們之間如此分離)。 我想要一個經典的條形圖。

你看到數據時間不可讀

數據的格式是這樣的:

            RRII
Fecha             
2019-11-27  43.765
2019-11-28  43.736
2019-11-29  43.772
2019-02-12  43.731
2019-03-12  43.750

但我有 200 行。

有什么制作方法嗎? 非常感謝你

編輯

我將 mdates.Daylocator 更改為 m.dates.Monthlocator。 我添加了一個 Plt.setp 函數。 現在我的情節不重疊但線圖沒有意義。

ax.xaxis.set_major_locator(mdates.MonthLocator())

plt.setp(ax.get_xticklabels(), rotation=30, 
horizontalalignment='right')

圖像在這里。 我希望情節按照日期時間遵循 RRII

要使 x 軸可讀,請更改行

ax.xaxis.set_major_locator(mdates.WeekdayLocator())

ax.xaxis.set_major_locator(mdates.MonthLocator())

但是,對於 200 行,不建議使用 barplot; 使用普通圖:

ax.plot(banco['RRII'], '.', color='purple')

[編輯:從線點更改標記]

暫無
暫無

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

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