Matplotlib | Databricks on AWS [2022/2/1時点]の翻訳です。
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
訳者注
- Databricksには簡単にグラフを表示する機能がビルトインされています。詳細はDatabricksにおけるデータの可視化を参照ください。
- matplotlibにおける日本語文字化けについては、こちらの記事を参照ください。
Matplotlibの図の表示方法は、使用しているDatabricksランタイムのバージョンに依存します。
- Databricksランタイム6.5以降では、Matplotlibの図はインラインに表示されます。
- Databricksランタイム6.4ESでは、マジックコマンド
%matplotlib inline
を呼び出す必要があります。
以下のノートブックでは、PythonノートブックでどのようにMatplotlibの図を表示するのかを説明しています。
Matplotlib Pythonノートブック
Python
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2*np.pi, 50)
y = np.sin(x)
y2 = y + 0.1 * np.random.normal(size=x.shape)
fig, ax = plt.subplots()
ax.plot(x, y, 'k--')
ax.plot(x, y2, 'ro')
# tickとtickのラベルを設定
ax.set_xlim((0, 2*np.pi))
ax.set_xticks([0, np.pi, 2*np.pi])
ax.set_xticklabels(['0', '$\pi$','2$\pi$'])
ax.set_ylim((-1.5, 1.5))
ax.set_yticks([-1, 0, 1])
# y-tick間のspineのみを描画
ax.spines['left'].set_bounds(-1, 1)
# 右と上部のspineを隠す
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
# 左と下のspineのtickのみを表示
ax.yaxis.set_ticks_position('left')
ax.xaxis.set_ticks_position('bottom')
高解像度で画像をレンダリングする
Pythonノートブックでは、標準の倍の解像度でmatplotlibの画像をレンダリングすることができ、高解像度の表示で優れたビジュアライゼーション体験をユーザーに提供することができます。ノートブックのセルで以下のいずれかを指定指定します。
retina
オプション
Python
%config InlineBackend.figure_format = 'retina'
from IPython.display import set_matplotlib_formats
set_matplotlib_formats('retina')
png2x
オプション
Python
%config InlineBackend.figure_format = 'png2x'
from IPython.display import set_matplotlib_formats
set_matplotlib_formats('png2x')
標準の解像度に戻すには、ノートブックセルに以下を追加します。
Python
set_matplotlib_formats('png')
%config InlineBackend.figure_format = 'png'