Построение нескольких графиков из одного кадра данных с одной осью X - Python - PullRequest
0 голосов
/ 31 мая 2018

Я искал каждое возможное решение, но, кажется, он никогда не создавал сюжеты таким образом, чтобы он был разборчивым для меня.Он также должен работать для потенциально сотен столбцов данных, поэтому предпочтительным является решение, находящееся в цикле или что-то в этом роде

Мой кадр данных примерно такой:

data =

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 = "Что-то в кавычках", но я подумал, потому что заголовокстрока, которая должна работать.

Любое решение для получения нескольких графиков было бы абсолютно замечательно!

Также я прошу прощения, если мое форматирование испорчено, поскольку я впервые публикую это сообщение!

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

Если кто-нибудь найдет это в будущем, я разобрался со своей проблемой!

Проблема была в том, что каждый раз возникала ошибка, и все, что было сказано, было

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)

Удачи всем!

0 голосов
/ 31 мая 2018

Я думаю, что вы ищете это:

>>> data.plot(x="Time")

The output plot

Однако, чтобы добиться этого, мне пришлось переформатировать ваш data.csvфайл для замены пробелов запятыми, так как он является разделителем по умолчанию в файле C omma S , выделенном V .Возможно, ваш исходный файл занесен в таблицу, и в этом случае вам необходимо указать sep='\t' для вызова read_csv().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...