【Python・R】グラフの背景色を変更する方法

  • Category: Python
  • Tags: Python R

  • Posted on: 2021-07-17

  • Updated on: 2022-08-03

PythonやRでグラフの背景色を変更する方法を解説します.

イメージ

以下のような感じです.
00

Pythonのコード例

Pythonの場合は以下のようなコードでグラフの背景色を指定できます.
(Pythonではグラフの背景色をあまり変更しませんが・・・)


# ライブラリのインポート
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import datasets

# irisデータセットの読み込み
iris_dataset = datasets.load_iris()

# irisデータセットのDataFrame化
iris = pd.DataFrame(data=iris_dataset.data, columns=iris_dataset.feature_names)

# 作画領域の設定
plt.figure(figsize=(5, 5), facecolor='antiquewhite').add_subplot(facecolor='lightblue')

# 散布図の作成・設定
plt.scatter(iris['sepal length (cm)'], iris['sepal width (cm)'], s=4, c='black')
plt.xlabel('sepal length (cm)')
plt.ylabel('sepal width (cm)')
plt.show()

01

作画領域ごとに色を指定する形式です.

  • plt.figure() で作図枠を作成し,引数facecolorで作図枠の色を指定.1
  • .add_subplot()の引数facecolorでグラフ自体の背景色を指定.

したがって,外側の大きい枠がantiquewhite,グラフ自体の色がlightblueという色になっています.

Rのコード例

Rの場合はpar()関数の引数bgを指定することで作画領域の色2を変更できます.


# 標準データセットのiris
iris <- iris

# par()関数で作画領域の色を指定
par(bg='gray95')

# 散布図を作成
plot(iris[, 'Sepal.Length'], iris[, 'Sepal.Width'], xlab='Sepal.Length', ylab='Sepal.Width', pch=16)

02

Rの実行環境とpar()関数 Rの実行環境によってpar()関数の適用範囲が変わります.
Rstudioでpar()関数を実行すると,それ以降に作成した他のグラフもpar()関数の実行内容が適用されます.
Jupyter Labの場合はpar()関数はセルごとに適用されます.

活用例

RのグラフをJupyter Labのダークモードで出力する際に使えます.
そのままの設定だと背景色と重なってグラフが消えてしまいます・・・
03

これを解決するためにpar()関数で背景色を指定しています.
Pythonでグラフを書く際は自動で調整してくれるのでいちいち指定する必要がありません.

ひとこと

本記事ではRおよびPythonでグラフの背景色をつける方法を紹介しました.
通常は変更しませんが・・・


  1. figsize=(5, 5) という部分は作図領域のサイズを指定しています 

  2. 今回はbg='gray95'としているので背景色はグレー(gray95)になります.