首页 > 解决方案 > 使用单个 x 轴从一个数据帧绘制多个图 - Python

问题描述

我已经搜索了所有可能的解决方案,但它似乎从来没有以我可以理解的方式创建情节。它也应该适用于潜在的 100 个数据框列,因此首选处于循环中或类似性质的解决方案

我的数据框大致是这样的

数据=

Time    Pressure    Static Temperature    Stag Temperature
0       100         50                    75
10      105         55                    77
20      110         59                    81
30      106         57                    79       

我想要的是 3 个不同的图表,它们绘制了压力、静态温度和停滞温度与时间的关系,这将是 X 轴。

我当前的代码看起来像

import pandas
data=pandas.read_csv(data.csv') 
for header in data:
    data.plot(x='System Time',y=header)

我想我理解问题是我的 data.plot 需要有 y="Something in quotes" 但我认为因为 header 是一个字符串,它应该可以工作。

任何获得多个图表的解决方案都绝对很棒!

如果我的格式搞砸了,我也很抱歉,因为这是我第一次发帖!

标签: pythonpython-3.xdataframeplotgraph

解决方案


如果将来有人发现这个,我想出了我自己的问题!

问题是每次都抛出一个错误,它所说的只是

KeyError: 'Time'

出现这个问题是因为“时间”是我的 x 轴,然后通过“数据”的迭代成为我的 y 轴。因此,在第一个循环中每次都会停止。

为了解决这个问题,我所要做的就是添加一个跳过我的 x 轴列的语句

import pandas
data=pandas.read_csv(r'data.csv') 
for header in data:
    if header!="Time":
        data.plot(x='Time',y=header,legend=False)

这跳过了第一列,并允许将其余标题绘制在单独的图中。

如果标题让您感到困惑(就像一开始让我感到困惑),您可以使用更通用的形式

import pandas
data=pandas.read_csv(r'data.csv')
for i in list(data):
    if i!="Time":
        data.plot(x='Time',y=i,legend=False)

大家好运!


推荐阅读