用pandas写一个包含两个Y轴的折线图
时间: 2023-12-02 13:06:33 浏览: 92
好的,以下是回答:
首先,您需要导入 pandas 和 matplotlib 库,然后读取包含数据的 csv 文件:
``` python
import as pd
import matplotlib.pyplot as plt
data = pd.read_csv('data.csv')
```
接着,创建一个包含两个 Y 轴的折线图:
``` python
fig, ax1 = plt.subplots()
# 设置第一个 Y 轴
ax1.set_xlabel('Date')
ax1.set_ylabel('Sales')
ax1.plot(data['Date'], data['Sales'], color = 'red')
# 设置第二个 Y 轴
ax2 = ax1.twinx()
ax2.set_ylabel('Cost')
ax2.plot(data['Date'], data['Cost'], color = 'blue')
# 显示图表
plt.show()
```
其中,`data` 是包含数据的 pandas 数据框,`Date` 是日期列,`Sales` 和 `Cost` 是要显示的两个列。
这样就可以创建一个包含两个 Y 轴的折线图了。
相关问题
用pandas写一个包含两个Y轴的折线图并展示
好的,您可以通过以下代码来画一个包含两个 Y 轴的折线图:
``` python
import pandas as pd
import matplotlib.pyplot as plt
# 构造数据
data1 = {'year': [2010, 2011, 2012, 2013, 2014, 2015],
'production': [105, 120, 130, 160, 180, 200]}
data2 = {'year': [2010, 2011, 2012, 2013, 2014, 2015],
'income': [2000, 2400, 2700, 3000, 3400, 4000]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
# 绘制折线图
fig, ax1 = plt.subplots()
line1 = ax1.plot(df1['year'], df1['production'], label='Production', color='b')
ax2 = ax1.twinx()
line2 = ax2.plot(df2['year'], df2['income'], label='Income', color='r')
# 调整图例,x轴和y轴标签
lines = line1 + line2
labels = [l.get_label() for l in lines]
ax1.legend(lines, labels, loc='lower right')
ax1.set_xlabel('Year')
ax1.set_ylabel('Production (units)', color='b')
ax2.set_ylabel('Income (dollars)', color='r')
# 显示图表
plt.show()
```
此代码将生成一个如下图所示的折线图,其中生产数据在左轴上显示(蓝色),收入数据在右轴上显示(红色)。
![image](https://img-blog.csdn.net/20180519182346673?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhY2FkYXJfMTIz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
怎么在pandas中用matlab画两个y轴的折线图
好的,以下是在 Pandas 中用 Matplotlib 画两个 y 轴的折线图的简单实现步骤:
1. 先导入需要的库:Pandas、Matplotlib 以及 NumPy。
2. 使用 Pandas 读取数据,并创建一个数据框 DataFrame。
3. 使用 DataFrame 的 plot 函数,并且指定第一个 y 轴和相应的标签和颜色。
4. 接着使用 Twinx 函数创建一个新的 Axes 对象,并且指定第二个 y 轴和相应的标签和颜色。
5. 最后使用 show 函数显示图表。
下面是一个简单的代码示例:
```
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
# 读取数据
data = pd.read_csv("data.csv")
# 创建 dataframe
df = pd.DataFrame({'x': data['x'], 'y1': data['y1'], 'y2': data['y2']})
# 画图
fig, ax1 = plt.subplots()
# 设置第一个 y 轴
color = 'tab:red'
ax1.set_xlabel('x')
ax1.set_ylabel('y1', color=color)
ax1.plot(df['x'], df['y1'], color=color)
ax1.tick_params(axis='y', labelcolor=color)
# 设置第二个 y 轴
ax2 = ax1.twinx()
color = 'tab:blue'
ax2.set_ylabel('y2', color=color)
ax2.plot(df['x'], df['y2'], color=color)
ax2.tick_params(axis='y', labelcolor=color)
# 显示图表
plt.show()
```
注意:这只是一个简单的实现,如果需要更加复杂的效果,可以根据需求自行添加代码。
阅读全文