У меня есть фрейм данных, который состоит из набора данных x, y, которые я хотел бы видеть в виде разброса вместе со строкой. Фрейм данных состоит из данных, форма которых повторяется в нескольких категориях. Конечным результатом, который я хотел бы видеть, является какая-то сетка графиков, но я не совсем уверен, как matplotlib обрабатывает несколько субплотов перегруженных данных.
Вот пример типа данных, которые я ' m работает с:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
category = np.arange(1,10)
total_data = pd.DataFrame()
for i in category:
x = np.arange(0,100)
y = 2*x + 10
data = np.random.normal(0,1,100) * y
dataframe = pd.DataFrame({'x':x, 'y':y, 'data':data, 'category':i})
total_data = total_data.append(dataframe)
У нас есть x данных, у нас есть y данных, которые являются линейной моделью некоторого сгенерированного набора данных (переменная данных).
Мне удалось сгенерировать отдельные графики на основе поднабора основного набора данных, но я бы хотел видеть их все рядом в сетке 3x3 в этом случае. Однако, вызов графиков в l oop просто накладывает их все на одно изображение.
Есть ли хороший способ взять следующий кодовый блок и создать сетку из подмножеств категории? Я слишком усложняю это, выполняя подмножество в вызове сюжета?
plt.scatter(total_data['x'][total_data['category']==1], total_data['data'][total_data['category']==1])
plt.plot(total_data['x'][total_data['category']==1], total_data['y'][total_data['category']==1], linewidth=4, color='black')
Если есть более простой способ сгенерировать разброс по плюсам по категориям, я все за это. Я не знаю, есть ли у seaborn такой же или более интуитивный метод, чем pyplot.