Подтвердить что ты не робот

Python matplotlib накладывает разброс

Я использую Python matplotlib. Я хочу наложить графики рассеяния. Я знаю, как накладывать непрерывные линейные графики с помощью команд:

>>> plt.plot(seriesX)
>>> plt.plot(Xresampl)
>>> plt.show()

Но он, похоже, не работает одинаково с разбросом. Или, может быть, с помощью plot() с дополнительным аргументом, определяющим стиль линии. Как действовать? спасибо

4b9b3361

Ответ 1

Вы просто вызываете функцию scatter дважды, matplotlib накладывает на вас два графика. Вы можете указать цвет, поскольку значение по умолчанию для всех графиков рассеяния является синим. Возможно, именно поэтому вы видели только один сюжет.

import numpy as np
import pylab as plt

X = np.linspace(0,5,100)
Y1 = X + 2*np.random.random(X.shape)
Y2 = X**2 + np.random.random(X.shape)

plt.scatter(X,Y1,color='k')
plt.scatter(X,Y2,color='g')
plt.show()

enter image description here

Ответ 2

Если вы хотите продолжить использование графика, вы можете использовать объект оси, возвращенный подзаголовками:

import numpy as np
import pylab as plt

X = np.linspace(0,5,100)
Y1 = X + 2*np.random.random(X.shape)
Y2 = X**2 + np.random.random(X.shape)

fig, ax = plt.subplots()
ax.plot(X,Y1,'o')
ax.plot(X,Y2,'x')
plt.show()