Как я могу перебрать CSV-файл и вывести его на коробочную диаграмму по каждому столбцу, представляющему секунду в Python? - PullRequest
1 голос
/ 16 мая 2019

Скажем, у меня есть CSV-файл, например, так:

20  30  33  54  12  56
90  54  66  12  88  11
33  22  63  86  12  65
11  44  65  34  23  26

Я хочу создать коробочную диаграмму, где каждый столбец - это секунда, которая также является осью X.Фактические данные должны быть на y.Итак, 20, 90, 33, 11 будут на 1 секунде и на одном графике и 30, 54, 22, 44 на 2 секундах и так далее.Кроме того, файл csv содержит больше данных, чем этот, поэтому я не уверен, сколько наборов данных, поэтому я не могу ничего жестко кодировать.

Это то, что я до сих пор:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('/user/Desktop/test.csv', header = None)

fig = plt.figure()
ax = fig.add_subplot()

plt.xlabel('Time (s)')
plt.ylabel('ms')

df.boxplot()
plt.show()

1 Ответ

1 голос
/ 16 мая 2019

Попробуйте это:

axes = df.groupby(df.columns//10, axis=1).boxplot(subplots=True, 
                                           figsize=(12,18))

plt.xlabel('Time (s)')
plt.ylabel('ms')
plt.show()

Выход:

enter image description here

Если вы хотите установить y пределы вложенных участков:

for ax in axes.flatten():
    ax.set_ylim(0,100)
...