Axis 的绘图显示错误的输出
Axis's Plot Show Wrong Output
我有这个代码:
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
sns.set()
import yfinance as yf
df = yf.download('AAPL',
start='2001-01-01',
end='2005-12-31',
progress=False)
df.head()
df = df.reset_index()
df['Date'] = pd.to_datetime(df.Date, format='%Y%m%d')
df.dropna(how='any', inplace=True)
# Plot the returns
plt.figure(figsize=(10,6))
plt.grid(True)
plt.xlabel('Dates')
plt.ylabel('Prices')
plt.plot(df['Close'])
plt.title('Close Price', fontsize=16)
plt.show()
收盘价图的输出是
我们可以看到日期和价格没有显示正确的输出。我检查了数据框的日期类型。
df.info()
结果是
我尝试了一些方法,但没有用。如何解决这个问题?
不要重置索引。索引 Dates
已经是 datetime
.
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
sns.set()
import yfinance as yf
df = yf.download('AAPL',
start='2001-01-01',
end='2005-12-31',
progress=False)
# df.head()
# df = df.reset_index() # <- DON'T DO THAT
# df['Date'] = pd.to_datetime(df.Date, format='%Y%m%d') # <- DON'T DO THAT
# df.dropna(how='any', inplace=True)
# Plot the returns
plt.figure(figsize=(10,6))
plt.grid(True)
plt.xlabel('Dates')
plt.ylabel('Prices')
plt.plot(df['Close'])
plt.title('Close Price', fontsize=16)
plt.show()
要修改日期轴,请阅读 Date tick labels matplotlib 文档。
我有这个代码:
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
sns.set()
import yfinance as yf
df = yf.download('AAPL',
start='2001-01-01',
end='2005-12-31',
progress=False)
df.head()
df = df.reset_index()
df['Date'] = pd.to_datetime(df.Date, format='%Y%m%d')
df.dropna(how='any', inplace=True)
# Plot the returns
plt.figure(figsize=(10,6))
plt.grid(True)
plt.xlabel('Dates')
plt.ylabel('Prices')
plt.plot(df['Close'])
plt.title('Close Price', fontsize=16)
plt.show()
收盘价图的输出是
我们可以看到日期和价格没有显示正确的输出。我检查了数据框的日期类型。
df.info()
结果是
我尝试了一些方法,但没有用。如何解决这个问题?
不要重置索引。索引 Dates
已经是 datetime
.
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
sns.set()
import yfinance as yf
df = yf.download('AAPL',
start='2001-01-01',
end='2005-12-31',
progress=False)
# df.head()
# df = df.reset_index() # <- DON'T DO THAT
# df['Date'] = pd.to_datetime(df.Date, format='%Y%m%d') # <- DON'T DO THAT
# df.dropna(how='any', inplace=True)
# Plot the returns
plt.figure(figsize=(10,6))
plt.grid(True)
plt.xlabel('Dates')
plt.ylabel('Prices')
plt.plot(df['Close'])
plt.title('Close Price', fontsize=16)
plt.show()
要修改日期轴,请阅读 Date tick labels matplotlib 文档。