как построить много столбцов Pandas фрейма данных - PullRequest
3 голосов
/ 15 апреля 2020

Мне нужно сделать точечные графики, используя набор данных Boston Housing Dataset. Я хочу построить все остальные столбцы с помощью столбца MEDV. Этот код делает весь график на одном графике. Как их разделить? введите описание изображения здесь

import matplotlib.pyplot as plt
%matplotlib inline
fig, axes = plt.subplots(nrows=3, ncols=2, figsize=(12, 12))
for column, ax in zip(['CRIM', 'ZN','INDUS', 'CHAS', 'NOX', 'RM'], axes):
    plt.scatter(boston_df[column], boston_df.MEDV)

Ответы [ 3 ]

2 голосов
/ 15 апреля 2020

Ваш код будет работать, если вы сгладите объект axes, потому что в данный момент вы выполняете цикл один раз над axes, который является двумерным объектом. Так что используйте axes.flatten() в for для l oop, а затем используйте ax.scatter, который построит каждый столбец на новую фигуру.

Порядок построения будет первым, затем вторым и третьим рядом

fig, axes = plt.subplots(nrows=3, ncols=2, figsize=(12, 12))
for column, ax in zip(['CRIM', 'ZN','INDUS', 'CHAS', 'NOX', 'RM'], axes.flatten()):
    ax.scatter(boston_df[column], boston_df.MEDV)
1 голос
/ 15 апреля 2020

Попробуйте построить с помощью ax [row, col] .scatter (). Это должно сделать свое дело. Затем вы должны перебрать и строки, и столбцы.

1 голос
/ 15 апреля 2020

Вам нужно использовать ax.scatter вместо plt.scatter, чтобы они отображались на осях, которые вы создали.

...