Unicode を使った Matplotlib の目盛りラベルの制御

Beginner

This tutorial is from open-source community. Access the source code

はじめに

この実験では、Unicode のマイナスと ASCII のハイフンを使って Matplotlib のプロットの目盛りラベルを制御する方法を学びます。デフォルトでは、負の値の目盛りラベルは ASCII のハイフンではなく Unicode のマイナスを使ってレンダリングされます。ただし、これはaxes.unicode_minusを設定することで制御できます。拡大されたフォントで 2 つのグリフの違いを示すサンプルコードスニペットを使います。

VM のヒント

VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替えて、Jupyter Notebook を使って練習します。

Jupyter Notebook が読み込み終わるまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題がある場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

必要なライブラリのインポート

必要なライブラリmatplotlib.pyplotnumpyをインポートして始めます。

import matplotlib.pyplot as plt
import numpy as np

データの準備

次に、numpyライブラリを使ってプロットするためのサンプルデータを作成します。0 から 10 までの 100 個の値の線形に区切られた配列を作成します。

x = np.linspace(0, 10, 100)

データのプロット

次に、Matplotlib のplot関数を使ってデータをプロットします。周波数 1、振幅 1 のサイン波をプロットします。

y = np.sin(x)
plt.plot(x, y)

目盛りラベルの設定

デフォルトでは、負の値の目盛りラベルは ASCII のハイフンではなく Unicode のマイナスを使ってレンダリングされます。ただし、axes.unicode_minusFalseに設定することでこの動作を変更できます。

plt.rcParams['axes.unicode_minus'] = False

グラフの表示

最後に、Matplotlib のshow関数を使ってグラフを表示します。

plt.show()

まとめ

この実験では、Matplotlib のグラフで Unicode のマイナスと ASCII のハイフンを使って目盛りラベルを制御する方法を学びました。拡大されたフォントで 2 つの文字の違いを示すためにサンプルコードを使いました。axes.unicode_minusFalseに設定することで、負の値の目盛りラベルを Unicode のマイナスを使ってレンダリングするデフォルトの動作を変更できます。