Як генерувати випадкові кольори в діаграмах matplotlib


Ви можете використовувати наступний базовий синтаксис для створення випадкових кольорів у діаграмах Matplotlib:

1. Згенеруйте випадковий колір для лінійного графіка

 col = ( np.random.random (), np.random.random (), np.random.random ( ) )

plt. plot (x, y, c=col)

2. Створіть випадкові кольори для хмари точок

 plt. scatter (x, y, c=np. random . rand (len(x), 3 ))

Наступні приклади показують, як використовувати цей синтаксис на практиці.

Приклад 1: генеруйте випадковий колір для лінії

У наведеному нижче коді показано, як створити випадковий колір для однієї лінії на лінійному графіку:

 import matplotlib. pyplot as plt
import numpy as np

#define data
x = [1, 2, 3, 4, 5]
y = [7, 12, 15, 19, 25]

#define random color
col = ( np.random.random (), np.random.random (), np.random.random ( ) )

#create line plot with random color
plt. plot (x, y, c=col) 

Якщо ми знову запустимо той самий фрагмент коду, буде створено шлях лінії з іншим випадковим кольором:

Приклад 2: генерація випадкових кольорів для хмари точок

Наступний код показує, як створити діаграму розсіювання з випадковими кольорами для кожної точки на діаграмі:

 import matplotlib. pyplot as plt
import numpy as np

#define data
x = [1, 2, 3, 4, 5]
y = [7, 12, 15, 19, 25]

#create scatterplot with random colors for each point
plt. scatter (x, y, c=np. random . rand (len(x),3))

Якщо ми знову запустимо той самий фрагмент коду, буде створено діаграму розсіювання з новими випадковими кольорами для кожної точки:

Примітка. Під капотом цей код просто використовує NumPy для створення випадкових кольорів (R, G, B).

Зверніться до онлайн-документації , щоб отримати повне пояснення функції NumPy random() .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші поширені функції побудови графіка в Matplotlib:

Як змінити колір фону в Matplotlib
Як розфарбувати діаграму розсіювання за значенням у Matplotlib

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *