我正试图使用matplotlib根据日期时间索引绘制股票价格。
所以我有一张图,看起来是这样的:
我需要它看起来像这样:
我认为这可能与xticks有关,但我不知道如何使xticks与日期时间索引一起工作。谢谢你的帮助。

tesla['Open'].plot(title='Open Price', label = 'Tesla', figsize = (16, 6))
ford['Open'].plot(label = 'ford')
gm['Open'].plot(label = 'GM')
plt.legend()
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m/%d/%Y'))

最佳答案

这样地:

import pandas as pd
import matplotlib.dates as mdates
import matplotlib.pyplot as plt
import numpy as np
df = pd.DataFrame({'values':np.random.randint(0,1000,36)},index=pd.date_range(start='2014-01-01',end='2016-12-31',freq='M'))
fig,ax1 = plt.subplots()
plt.plot(df.index,df.values)
monthyearFmt = mdates.DateFormatter('%Y-%m')
ax1.xaxis.set_major_formatter(monthyearFmt)
_ = plt.xticks(rotation=45)

输出:
python - 如何在matplotlib中使用日期时间索引增加xticks?-LMLPHP
编辑:
让我们使用set_major_locatorMonthLocator
import pandas as pd
import matplotlib.dates as mdates
import matplotlib.pyplot as plt
import numpy as np
df = pd.DataFrame({'values':np.random.randint(0,1000,36)},index=pd.date_range(start='2014-01-01',end='2016-12-31',freq='M'))
fig,ax1 = plt.subplots()
plt.plot(df.index,df.values)
monthyearFmt = mdates.DateFormatter('%Y-%m')
ax1.xaxis.set_major_formatter(monthyearFmt)
ax1.xaxis.set_major_locator(mdates.MonthLocator([1,7]))
_ = plt.xticks(rotation=45)

输出:
python - 如何在matplotlib中使用日期时间索引增加xticks?-LMLPHP

关于python - 如何在matplotlib中使用日期时间索引增加xticks?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49807252/

10-12 21:58