На этом шаге мы рассмотрим построение такого графика.
Для построения диаграммы рассеяния используется функция scatter(). В простейшем виде её можно получить, передав функции scatter() координаты х и у:
import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 10.5, 0.5) y = np.cos(x) plt.scatter(x, y) plt.show()
Результат работы приложения изображен на рисунке 1.
Рис.1. Диаграмма распределения (пример 1)
Для более детальной настройки изображения необходимо воспользоваться дополнительными параметрами функции scatter().
Сигнатура вызова функции:
scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, *, plotnonfinite=False, data=None, **kwargs)
Рассмотрим некоторые из её параметров:
Пример работы с параметрами функции scatter():
import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 10.5, 0.5) y = np.cos(x) plt.scatter(x, y, s=80, c='r', marker='D', linewidths=2, edgecolors='g') plt.show()
Результат работы приложения изображен на рисунке 2.
Рис.2. Диаграмма распределения (пример 2)
Пример, демонстрирующий работу с цветом и размером:
import matplotlib.pyplot as plt import matplotlib.colors as mcolors import numpy as np bc = mcolors.BASE_COLORS x = np.arange(0, 10.5, 0.25) y = np.cos(x) num_set = np.random.randint(1, len(mcolors.BASE_COLORS), len(x)) sizes = num_set * 35 colors = [list(bc.keys())[i] for i in num_set] plt.scatter(x, y, s=sizes, alpha=0.4, c=colors, linewidths=2, edgecolors='face') plt.plot(x, y, 'g--', alpha=0.4) plt.show()
Результат работы приложения изображен на рисунке 3.
Рис.3. Модифицированный точечный график (пример 3)
Со следующего шага мы начнем рассматривать столбчатые и круговые диаграммы.