pandas画图折线图和柱状图,两个图结合的图
时间: 2023-07-01 17:07:54 浏览: 539
可以使用pandas中的plot函数绘制折线图和柱状图,并使用matplotlib库进行绘图。
例如,我们创建一个包含两列数据的DataFrame:
```python
import pandas as pd
import numpy as np
# 创建DataFrame
data = {'year': [2015, 2016, 2017, 2018, 2019],
'sales': [100, 150, 200, 180, 220],
'profit': [20, 30, 40, 35, 50]}
df = pd.DataFrame(data)
```
然后,我们可以使用plot函数绘制折线图和柱状图:
```python
import matplotlib.pyplot as plt
# 绘制折线图
df.set_index('year')['sales'].plot(kind='line', color='blue', label='Sales')
df.set_index('year')['profit'].plot(kind='line', color='red', label='Profit')
plt.ylabel('Amount')
plt.legend(loc='best')
plt.title('Sales and Profit')
# 绘制柱状图
df.set_index('year').plot(kind='bar', rot=0)
plt.ylabel('Amount')
plt.title('Sales and Profit')
# 结合两个图
fig, ax1 = plt.subplots()
ax1.plot(df['year'], df['sales'], color='blue')
ax1.set_ylabel('Sales', color='blue')
ax1.tick_params('y', colors='blue')
ax2 = ax1.twinx()
ax2.bar(df['year'], df['profit'], color='red', alpha=0.3)
ax2.set_ylabel('Profit', color='red')
ax2.tick_params('y', colors='red')
plt.title('Sales and Profit')
plt.show()
```
最后一个图中,我们使用了subplots函数创建一个包含两个y轴的子图,并在第一个y轴上绘制了折线图,在第二个y轴上绘制了柱状图。注意调整柱状图的透明度,以确保两个图形不会互相遮挡。
阅读全文