首页 > 解决方案 > 如何在熊猫中绘图 - 在同一个图中不同的 x 和不同的 y 轴

问题描述

我想将不同 CSV 的 x 和 y 轴的不同值绘制成一个简单的图。

csv1:

Time    Buff
1         5 
2        10 
3        15 

csv2:

Time1  Buff1
2       3 
4       6 
5       9 

我有 5 个不同的 CSV。我尝试绘制将数据帧连接成单个帧并绘制它。但我只能用一个 x 轴进行绘图:

df = pd.read_csv('csv1.txt)
df1 = pd.read_csv('csv2.txt) 
join = pd.concat([df, df1], axis=1) 
join.plot(x='Time', y=['Buff', 'Buff1'], kind='line')
join.plot(x='Time', y='Buff', x='Time1', y='Buff1') #doesn't work

我最终得到一个只有一个 x 轴(csv1)的参考图。但是如何将 CSV 中的 x 和 y 列绘制到同一个图中?

标签: pandasplot

解决方案


如果您使用ax=. 请注意,在绘制任一数据框之前,我使用子图创建了图形和轴。

import pandas as pd
import matplotlib.pyplot as plt
f,ax = plt.subplots()
df = pd.DataFrame({'Time':[1,2,3],'Buff':[5,4,3]})
df1 = pd.DataFrame({'Time1':[2,3,4],'Buff1':[5,7,8]})
df.plot(x='Time',y='Buff',ax=ax)
df1.plot(x='Time1',y='Buff1',ax=ax)

推荐阅读