Как сгенерировать случайный цвет для графика Matplotlib в Python?
Для обработки огромных наборов данных требуются библиотеки и методы, которые можно использовать для хранения, анализа и управления наборами данных. Python - популярный выбор, когда дело доходит до науки о данных и аналитики. Специалисты по данным предпочитают Python из-за его широкой библиотеки, которая содержит функции, которые можно использовать для работы с наборами данных для создания графиков и диаграмм. Matplotlib - это библиотека визуализации данных на Python. Matplotlib работает аналогично Matlaband, создавая интерактивные диаграммы и графики. Matplotlib предлагает на выбор множество типов диаграмм. Свойства диаграммы можно задать явно с помощью встроенных методов и атрибутов. Для генерации случайных цветов для графика Matplotlib в Python используются matplotlib.pyplot и случайные библиотеки Python. Ниже приведен пример генерации случайных цветов для графика Matplotlib:
Первый подход
- Набор данных создается с помощью массива команд и массива wincount.
- Массив команд отображается по оси X, а массив wincount - по оси Y. Matplotlib поддерживает RGB или RGBA со значениями с плавающей запятой в диапазоне 0-1.
- Теперь значения RGB или RGBA в диапазоне от 0 до 1 определяют цвет диаграммы.
- В этом примере для создания случайных значений в диапазоне от 0 до 1. Полученные значения красного «r», зеленого «g» и синего «b» затем передаются в цвет кортежа, который формирует окончательный цвет.
- Этот кортеж затем назначается атрибуту цвета метода plot ().
- Оси X и Y помечаются, а заголовок предоставляется диаграмме с использованием методов xlabel (), ylabel () и title () библиотеки matplotlib.pyplot.
Реализация кода:
Python3
import random as random import matplotlib.pyplot as plt teams = [ 'Kolkata' , 'Delhi' , 'Mumbai' , 'Punjab' , 'Hyderabad' , 'Bangalore' , 'Rajasthan' , 'Chennai' ] wincount = [ 2 , 0 , 6 , 0 , 1 , 0 , 1 , 4 ] r = random.random() b = random.random() g = random.random() color = (r, g, b) plt.xlabel( "Teams" ) plt.ylabel( "Winning Count" ) plt.title( "IPL RECORDS" ) plt.plot(teams, wincount, c = color) |
Выход:
Второй подход
- Во втором подходе демонстрируется гистограмма. Объявлен пустой список для хранения цветовых кортежей.
- Отмечаются оси X и Y, а для диаграммы задается заголовок.
- Чтобы добавить разные цвета для n записей, выполняется цикл for.
- Метод random.choice () библиотеки numpy используется для создания кортежей размером 3 со значениями от 0 до 1.
- Команды и массив wincount нанесены на оси X и Y.
- Атрибуту цвета метода bar () файла matplotlib.pyplot присваивается список кортежей. Случайные кортежи выбираются из списка для каждого бара.
Реализация кода
Python3
import random as random import matplotlib.pyplot as plt import numpy as np l = [] teams = [ 'Kolkata' , 'Delhi' , 'Mumbai' , 'Punjab' , 'Hyderabad' , 'Bangalore' , 'Rajasthan' , 'Chennai' ] wincount = [ 2 , 0 , 6 , 0 , 1 , 0 , 1 , 4 ] plt.xlabel( "Teams" ) plt.ylabel( "Winning Count" ) plt.title( "IPL RECORDS" ) for i in range ( 0 , len (teams) + 1 ): l.append( tuple (np.random.choice( range ( 0 , 2 ), size = 3 ))) plt.bar(teams, wincount, color = l) |
Выход:
Однако недостатком использования случайных цветов является то, что в случае выбора белого цвета конкретная полоса или линия становится невидимой.
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.