python - Python 中的两个子图(matplotlib)

标签 python pandas matplotlib

我想在 Python 中创建两个子图(使用 Anaconda 2.7),但我编写的代码生成了两个图表,都没有显示太多。 这是代码:

import pandas as pd
import pandas.io.data as web

import matplotlib.pyplot as plt
from matplotlib import style
style.use('ggplot')

import datetime

start = datetime.datetime(2000, 10, 23)
end = datetime.datetime(2016, 10, 23)

df = web.DataReader("BAC", "yahoo", start, end)

df['100MA'] = pd.rolling_mean(df['Adj Close'], 100, min_periods=1)
df['STD'] = pd.rolling_std(df['Close'], 25, min_periods=1)

print(df.tail())

ax1 = plt.subplot(2, 1, 1)
df[['Adj Close', '100MA']].plot()
ax2 = plt.subplot(2, 1, 2, sharex=ax1)
df['STD'].plot()
plt.show()

提前致谢!

最佳答案

import pandas as pd
import pandas.io.data as web

import matplotlib.pyplot as plt
from matplotlib import style
style.use('ggplot')

import datetime

start = datetime.datetime(2000, 10, 23)
end = datetime.datetime(2016, 10, 23)

df = web.DataReader("BAC", "yahoo", start, end)

df['100MA'] = pd.rolling_mean(df['Adj Close'], 100, min_periods=1)
df['STD'] = pd.rolling_std(df['Close'], 25, min_periods=1)

print(df.tail())
f,axarr = plt.subplots(2,1)
df[['Adj Close', '100MA']].plot(ax=axarr[0])
df['STD'].plot(ax=axarr[1])
plt.show()

结果:

enter image description here

关于python - Python 中的两个子图(matplotlib),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40246922/

相关文章:

python - 如何使用 Python 从文本文件中绘制数据

python - 在扭曲中使用 react 器不断扫描数据库表时出现以下错误

python - 滚动条小部件在网格中布局时将不起作用

python - 删除连续的重复项。离开中间

mysql - 如何在pandas中使用to_sql

python - 用矢量化方法替换 python for 循环以丢弃丢失的数据

python - 更改facetgrid 上每个hist 面的颜色?

Python - 用于巨大数组的插值二维数组

python - 如何使用 pandas 更改数据框中文本的字体大小

python - 如何在条形图(Python)的条形图上方写文字?