Как изменить фон графика в Matplotlib

Введение Matplotlib - одна из наиболее широко используемых библиотек визуализации данных в Python. От простых до сложных визуализаций - это библиотека для большинства. В этом уроке мы рассмотрим, как изменить фон графика в Matplotlib. Импорт данных и библиотек Давайте сначала импортируем необходимые библиотеки. Нам, очевидно, понадобится Matplotlib, и мы будем использовать Pandas для чтения данных: import matplotlib.pyplot as plt import pandas as pd В частности, мы будем использовать Seatt

Вступление

Matplotlib - одна из наиболее широко используемых библиотек визуализации данных в Python. От простых до сложных визуализаций - это библиотека для большинства.

В этом уроке мы рассмотрим, как изменить фон графика в Matplotlib .

Импорт данных и библиотек

Сначала импортируем необходимые библиотеки. Нам, очевидно, понадобится Matplotlib, и мы будем использовать Pandas для чтения данных:

 import matplotlib.pyplot as plt 
 import pandas as pd 

В частности, мы будем использовать набор данных погоды Сиэтла :

 weather_data = pd.read_csv("seattleWeather.csv") 
 print(weather_data.head()) 

 DATE PRCP TMAX TMIN RAIN 
 0 1948-01-01 0.47 51 42 True 
 1 1948-01-02 0.59 45 36 True 
 2 1948-01-03 0.42 45 35 True 
 3 1948-01-04 0.31 45 34 True 
 4 1948-01-05 0.17 45 32 True 

Создание сюжета

Теперь давайте создадим простую диаграмму рассеяния Matplotlib с несколькими разными переменными, которые мы хотим визуализировать:

 PRCP = weather_data['PRCP'] 
 TMAX = weather_data['TMAX'] 
 TMIN = weather_data['TMIN'] 

Теперь мы построим диаграмму рассеяния между минимальной температурой и осадками и show() ее, используя PyPlot Matplotlib:

 plt.scatter(TMIN, PRCP) 
 plt.show() 

график разбросаmatplotlib{.ezlazyload}

График, который мы построили, можно интерпретировать, но он выглядит немного простым. Попробуем настроить его. Мы хотим настроить фон нашего сюжета, используя несколько разных методов.

Изменить фон графика в Matplotlib

Теперь давайте продолжим и изменим фон этого сюжета. Мы можем сделать это двумя разными подходами. Мы можем изменить цвет лица , который в настоящее время установлен на white . Или мы можем ввести изображение с помощью imshow() .

Изменить фон осей в Matplotlib

Давайте сначала изменим цвет лица . Это можно сделать либо с помощью функции set() , передав face и его нового значения, либо с помощью специальной функции set_facecolor() :

 ax = plt.axes() 
 ax.set_facecolor("orange") 
 # OR 
 ax.set(facecolor = "orange") 
 
 plt.scatter(TMIN, PRCP) 
 plt.show() 

изменить цвет фона осейmatplotlib{.ezlazyload}

Любой из этих подходов дает одинаковый результат, поскольку они оба вызывают одну и ту же функцию под капотом.

Изменить фон рисунка в Matplotlib

Если вы хотите установить фон для фигуры и хотите, чтобы оси были прозрачными, это можно сделать с set_alpha() при создании фигуры. Создадим фигуру и объект оси. Конечно, вы также можете использовать функцию set() и вместо этого alpha

Цвет всей фигуры будет синим, и мы изначально установим alpha -канал объекта осей 1.0 , что означает полную непрозрачность. Мы окрашиваем объект оси в оранжевый цвет, давая нам оранжевый фон внутри синей фигуры:

 fig = plt.figure() 
 fig.patch.set_facecolor('blue') 
 fig.patch.set_alpha(0.6) 
 
 ax = fig.add_subplot(111) 
 ax.patch.set_facecolor('orange') 
 ax.patch.set_alpha(1.0) 
 
 plt.scatter(TMIN, PRCP) 
 plt.show() 

изменить рисунок фонаmatplotlib{.ezlazyload}

Теперь посмотрим, что произойдет, когда мы уменьшим альфа подзаголовка осей до 0.0 :

 fig = plt.figure() 
 fig.patch.set_facecolor('blue') 
 fig.patch.set_alpha(0.6) 
 
 ax = fig.add_subplot(111) 
 ax.patch.set_facecolor('orange') 
 ax.patch.set_alpha(0.0) 
 
 plt.scatter(TMIN, PRCP) 
 plt.show() 

изменить фон осей matplotlib внутририсунка{.ezlazyload}

Обратите внимание, что фон самого сюжета теперь прозрачен.

Добавить изображение на фон графика в Matplotlib

Если вы хотите использовать изображение в качестве фона для графика, это можно сделать с помощью функции PyPlot imread() . Эта функция загружает изображение в Matplotlib, которое можно отобразить с помощью функции imshow() .

Для печати поверх изображения необходимо указать размер изображения. По умолчанию Matplotlib использует левый верхний угол изображения в качестве источника изображения. Мы можем передать список точек функции imshow() , указав, какая область изображения должна отображаться. В сочетании с дополнительными графиками можно вставить другой график поверх изображения.

Давайте использовать изображение дождя в качестве фона для нашего сюжета:

 img = plt.imread("rain.jpg") 
 fig, ax = plt.subplots() 
 ax.imshow(img, extent=[-5, 80, -5, 30]) 
 ax.scatter(TMIN, PRCP, color="#ebb734") 
 plt.show() 

добавление изображения в фонmatplotlib{.ezlazyload}

extent аргумента принимает дополнительные аргументы в следующем порядке: horizontal_min , horizontal_max , vertical_min , vertical_max ).

Здесь мы прочитали изображение, обрезали его и показали по осям с помощью imshow() . Затем мы построили диаграмму рассеяния другим цветом и показали ее.

Заключение

В этом руководстве мы рассмотрели несколько способов изменить фон графика с помощью Python и Matplotlib.

Если вас интересует визуализация данных и вы не знаете, с чего начать, обязательно ознакомьтесь с нашим комплектом книг по визуализации данных в Python{.ebook-link} :

::: {style=“border: 1px solid #ebebeb;padding: 15px;"} {.ebook-link}

Визуализация данных в Python

::: {.row} ::: {.col-md-4 .col-xs-12} {.ezlazyload .img-responsive .center-block} :::

::: {.col-md-8 .col-xs-12 .my-auto} Станьте опасными с визуализацией данных

✅ 30-дневная гарантия возврата денег без вопросов

✅ от начального до продвинутого

✅ Регулярно обновляется бесплатно (последнее обновление в апреле 2021 г.)

✅ Обновлено с бонусными ресурсами и руководствами ::: ::: :::

Визуализация данных в Python с помощью Matplotlib и Pandas - это книга, предназначенная для абсолютных новичков в работе с Pandas и Matplotlib с базовыми знаниями Python и позволяющая им создать прочную основу для расширенной работы с этими библиотеками - от простых графиков до анимированных трехмерных графиков с интерактивными кнопки.

Он служит подробным руководством, которое научит вас всему, что вам нужно знать о Pandas и Matplotlib, в том числе о том, как создавать типы графиков, которые не встроены в саму библиотеку.

Книга «Визуализация данных в Python» , книга для начинающих и средних разработчиков Python, проведет вас через простые манипуляции с данными с помощью Pandas, охватит основные библиотеки построения графиков, такие как Matplotlib и Seaborn, и покажет, как использовать преимущества декларативных и экспериментальных библиотек, таких как Altair. В частности, на протяжении 11 глав эта книга охватывает 9 библиотек Python: Pandas, Matplotlib, Seaborn, Bokeh, Altair, Plotly, GGPlot, GeoPandas и VisPy.

Он служит уникальным практическим руководством по визуализации данных в виде множества инструментов, которые вы можете использовать в своей карьере.

comments powered by Disqus