Смена цвета фона scatter plot в matplotlib на черный

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для изменения цвета фона графика в Matplotlib используйте атрибут facecolor:

Python
Скопировать код
import matplotlib.pyplot as plt

# Меняем цвет фона области осей
ax = plt.gca()
ax.set_facecolor('cyan') # Фон осей теперь голубой!

# Меняем цвет фона всей фигуры
plt.gcf().set_facecolor('yellow') # Фон фигуры теперь жёлтый!

plt.show()

Для настройки цвета осей примените метод ax.set_facecolor(). Для изменения фона вокруг фигуры используйте plt.gcf().set_facecolor().

Кинга Идем в IT: пошаговый план для смены профессии

Раскрасьте своими цветами – Настройка фонов

Точная настройка цвета с помощью объектно-ориентированного подхода

Объектно-ориентированный подход позволяет точно настроить цвет фона:

Python
Скопировать код
fig, ax = plt.subplots()
ax.set_facecolor('#FFDD44') # Цвет можно задать через HEX-код
# или
ax.set_facecolor((1.0, 0.5, 0.2)) # Можно через RGB-значения
plt.show()

Единый стиль для всех графиков с помощью rcParams

Если вы хотите, чтобы все ваши графики имели один и тот же стиль, задайте его через rcParams:

Python
Скопировать код
import matplotlib as mpl
mpl.rcParams.update({
    'axes.facecolor': 'beige',    # Все графики получат бежевый фон
    'figure.facecolor': 'ivory'   # И цвет фигуры будет слоновой кости
})

Обратите внимание: устаревший параметр axisbg более не актуален, используйте вместо него ax.set_facecolor.

Выбор подходящего цвета

Многообразие цветов и палитр

Matplotlib предлагает большое разнообразие цветов, включая именованные цвета, категориальные палитры и цвета из опроса XKCD:

Python
Скопировать код
# Именованный цвет
ax.set_facecolor('chartreuse')
# Цвет XKCD
ax.set_facecolor('xkcd:mango') # Манго – потому что все любят манго!

Оттенки серого

Создайте строгий и лаконичный дизайн с использованием оттенков серого:

Python
Скопировать код
ax.set_facecolor('0.75') # Темно-серый цвет: 0 – чёрный, 1 – белый

Визуализация

Превратим фон нашего графика в холст:

Python
Скопировать код
fig, ax = plt.subplots()
ax.set_facecolor('skyblue') # Небесно-голубой создаёт ощущение неба
plt.show() # Демонстрируем результат

Иллюстрируем различие:

Markdown
Скопировать код
До: [📉,📊 (на обычном белом фоне)]
После: [📉,📊 (на успокаивающем небесно-голубом фоне)]

Прозрачность и HEX-коды

Поэкспериментируйте с прозрачностью и HEX-кодами:

Python
Скопировать код
ax.set_facecolor((0, 0, 1, 0.1)) # Тонкая игра прозрачности с синим цветом
ax.set_facecolor('#004488') # Неповторимый оттенок зашифрованного художественного кода

Исправление возможных проблем

Если цвет фона не изменился, убедитесь, что все настройки применены до вызова plt.show().

Полезные материалы

  1. Руководство по настройке графиков — документация seaborn 0.13.2 — основы оформления графиков в seaborn.
  2. Оформление — Документация Bokeh 3.3.4 — настройки цвета для графиков Bokeh.
  3. Расположение элементов в Python — изменения фона и компоновки в Plotly.
  4. Примеры — Документация Matplotlib 3.8.2 — функции настройки и примеры графиков.
  5. Визуализация в pandas 2.2.0 — визуализация данных с помощью Pandas.