使用python 读取并绘制以伊利股份、海尔智家、贵州茅台、招商银行这四家股票的收盘价及成交量为子图 的图片。 要求收盘价用折线图,成交量用柱状图表示。
时间: 2023-12-16 11:06:31 浏览: 29
好的,你可以使用Python中的pandas和matplotlib库来完成这个任务。首先,你需要获取这四家公司的股票数据,可以从Yahoo Finance等网站获取。接下来,我们可以使用pandas库来读取并处理这些数据,然后使用matplotlib库来绘制图表。
以下是示例代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取股票数据
df1 = pd.read_csv('600887.SS.csv') # 伊利股份
df2 = pd.read_csv('600690.SS.csv') # 海尔智家
df3 = pd.read_csv('600519.SS.csv') # 贵州茅台
df4 = pd.read_csv('600036.SS.csv') # 招商银行
# 绘制子图
fig, ax = plt.subplots(2, 2, figsize=(12, 8))
# 绘制伊利股份收盘价折线图
ax[0, 0].plot(df1['Date'], df1['Close'])
ax[0, 0].set_title('伊利股份收盘价')
# 绘制海尔智家收盘价折线图
ax[0, 1].plot(df2['Date'], df2['Close'])
ax[0, 1].set_title('海尔智家收盘价')
# 绘制贵州茅台收盘价折线图
ax[1, 0].plot(df3['Date'], df3['Close'])
ax[1, 0].set_title('贵州茅台收盘价')
# 绘制招商银行收盘价折线图
ax[1, 1].plot(df4['Date'], df4['Close'])
ax[1, 1].set_title('招商银行收盘价')
# 绘制伊利股份成交量柱状图
ax[0, 0].twinx().bar(df1['Date'], df1['Volume'], alpha=0.3)
ax[0, 0].set_ylabel('收盘价')
ax[0, 0].twinx().set_ylabel('成交量')
# 绘制海尔智家成交量柱状图
ax[0, 1].twinx().bar(df2['Date'], df2['Volume'], alpha=0.3)
ax[0, 1].set_ylabel('收盘价')
ax[0, 1].twinx().set_ylabel('成交量')
# 绘制贵州茅台成交量柱状图
ax[1, 0].twinx().bar(df3['Date'], df3['Volume'], alpha=0.3)
ax[1, 0].set_ylabel('收盘价')
ax[1, 0].twinx().set_ylabel('成交量')
# 绘制招商银行成交量柱状图
ax[1, 1].twinx().bar(df4['Date'], df4['Volume'], alpha=0.3)
ax[1, 1].set_ylabel('收盘价')
ax[1, 1].twinx().set_ylabel('成交量')
# 调整子图之间的距离
plt.subplots_adjust(wspace=0.3, hspace=0.5)
# 显示图表
plt.show()
```
这将生成一个包含四个子图的大图,每个子图包含股票收盘价的折线图和成交量的柱状图。你可以根据需要调整图表的大小和样式。