python 折线图 绘制 x轴是时间,y轴是涨跌比例,有正负,需要绘制出10个行业每天的涨跌幅度折线图
时间: 2024-10-17 19:10:16 浏览: 24
在Python中,你可以使用matplotlib库来创建这种类型的折线图。假设你有一个包含日期、行业名称和涨跌幅度数据的数据框,例如df,其结构如下:
```python
data = {
'date': [...], # 每天的日期
'industry': [...], # 10个行业的名称
'change_percentage': [...], # 涨跌比例,可能是正数也可能是负数
}
df = pd.DataFrame(data)
```
首先,安装必要的库(如果尚未安装):
```bash
pip install matplotlib pandas numpy
```
然后,你可以使用以下步骤来绘制折线图:
```python
import matplotlib.pyplot as plt
import pandas as pd
# 设置绘图风格(如seaborn风格)
plt.style.use('seaborn')
# 创建一个子图,每个行业一条线
fig, axs = plt.subplots(nrows=10, ncols=1, figsize=(15, 60), sharex=True)
for i, industry in enumerate(df['industry']):
# 提取该行业的涨跌数据
industry_data = df[df['industry'] == industry]
# 在相应轴上绘制折线图
axs[i].plot(industry_data['date'], industry_data['change_percentage'], label=industry)
axs[i].set_ylabel('涨跌幅度')
axs[i].grid(True) # 添加网格线
axs[i].set_title(industry)
# 共享X轴,并设置日期范围
axs[0].set_xlim(df['date'].min(), df['date'].max())
plt.xlabel('时间')
# 图例放置在底部中心
fig.legend(title='行业', loc='center bottom')
plt.show()
```
这将生成10条折线,每条代表一个行业的涨跌变化,横坐标为日期,纵坐标为涨跌比例。
阅读全文