gpt4 book ai didi

python - Pandas/Matplotlib 日期刻度线在子图中消失

转载 作者:行者123 更新时间:2023-12-05 06:36:20 58 4
gpt4 key购买 nike

当我对它们应用定位器和格式化程序时,我遇到了一些刻度线消失的问题。我想要一个包含多个共享相同 x 轴的子图的图,因此只有底部子图会有标签,但所有子图都应该有标签。下面是一个例子:

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

df = pd.DataFrame(np.absolute(np.random.randn(100)), index=pd.date_range('1/1/2000', periods=100, freq='M'))

fig, axes = plt.subplots(2,1,sharex=True,figsize=(8,10),dpi=300,tight_layout=True)
df.plot.area(ax=axes[1],legend=False)

到目前为止一切顺利。此时查看无花果,您可以看到刻度和年份标签。 (注意我只是在这个例子中添加一个图,但如果我有多个图和多列,行为是相同的。)但我想在每个月放置刻度,比如 this example.

years = mdates.YearLocator()   # every year
months = mdates.MonthLocator() # every month
yearsFmt = mdates.DateFormatter('%Y')

for ax in axes:
ax.xaxis.set_major_locator(years)
ax.xaxis.set_major_formatter(yearsFmt)
ax.xaxis.set_minor_locator(months)

当我这样做时,事情变得很奇怪:

See image

有什么想法吗?

最佳答案

看起来这可以通过在 plot 函数调用中添加“x_compat=True”来解决:

Image

参见 http://pandas.pydata.org/pandas-docs/version/0.13/visualization.html .不知道为什么,但它似乎有效。

关于python - Pandas/Matplotlib 日期刻度线在子图中消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49174302/

58 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com