Конфетти
Давайте закончим играться с точечными диаграммами. На этот раз, вместо размера, случайными будут цвета, но их будет ограниченное количество. Например, я выбрал четыре ярких, понятных каждому зрителю цвета: красный, синий, зелёный и оранжевый. Конечно, их может быть гораздо больше. На выходе должно получиться красочное конфетти из случайных точек.
# задаём параметры, которые не будут меняться
# colors — это список используемых нами цветов
colors = ['red', 'blue', 'green', 'orange']
# N — это количество точек
N = 1000
# загружаем библиотеку для визуализации
import matplotlib.pyplot as plt
Цикл
Здесь я должен вас познакомить с понятием “цикл”. Все, что находится под строчкой, которая начинается с “for” и оформляется отступом будет повторяться N раз.
# Мы будем использовать библиотеку random, которая позволяет генерить случайные числа
import random
# перед запуском цикла создадим три пустых списка для координат и цвета
x = []
y = []
c = []
# далее идет повторяющаяся N раз операция. для X и Y создаются случайные числа от 1 до 101
# для этого из библиотеки random используется функция randrange
# в случае с цветом мы используем функцию choice
# она случайным образом забирает из списка colors один элемент
for i in range (N):
x.append(random.randrange(1, 101, 1))
y.append(random.randrange(1, 101, 1))
c.append(random.choice(colors))
# создаём точечную диаграмму
plt.scatter(x,y,c=c)
# отключаем оси
plt.axis('off')
# смотрим
plt.show()
# сколько раз мы запустим этот фрагмент кода, столько и получим изображения с разной композицией
Альтернативный способ
Можно не использовать цикл, и библиотеку random.
# Сразу загружаем библиотеку numpy, которую приходится использовать в любой непонятной ситуации
import numpy as np
# используем фукции rand и choice, чтобы создать списки случайных чисел и цветов
x = np.random.rand(N)
y = np.random.rand(N)
c = np.random.choice(colors, size = N)
# дальше код мало чем отличается от предыдущего примера
plt.scatter(x,y,c=c)
plt.axis('off')
plt.show()