Python
 Computer >> コンピューター >  >> プログラミング >> Python

Matplotlibで日付のxticklabels(X軸ラベル)を設定する方法

matplotlibで時系列データを可視化する際、X軸の目盛りラベル(xticklabels)を読みやすい日付形式に整形したいケースは非常に多くあります。本記事では、エポック時刻(UNIXタイムスタンプ)を「YYYY-MM-DD HH:MM:SS」形式の日付ラベルとして表示する具体的な手順を、コード例とともに解説します。

基本的な手順

  1. 図のサイズを設定し、サブプロット間および周囲の余白を調整します。
  2. エポック時刻の2つのリストを作成します。
  3. エポック時刻から日付文字列のリストを生成します。
  4. figureとサブプロットを作成します。
  5. plot()メソッドで日付と値をプロットします。
  6. xticklabelsを設定し、mdates.DateFormatterで作成した日付フォーマッタをx軸のmajorフォーマッタに指定します。
  7. ラベル同士の重なりを防ぐため、目盛りラベルを10度回転させます。
  8. show()メソッドで図を表示します。

コード例

import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import time

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

epochs = [1259969793926, 1259969793927, 1259969793929, 1259969793928, 1259969793939]
values = [-0.5, -0.5, -0.75, -0.5, -1.25]

dates = [time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(date)) for date in epochs]

fig, axes = plt.subplots(1, 1)
line1, = axes.plot(dates, values, lw=2, marker='*', color='r')

axes.set_xticklabels(dates)
fmt = mdates.DateFormatter('%Y-%m-%d %H:%M:%S')

axes.xaxis.set_major_formatter(fmt)
axes.tick_params(rotation=10)

plt.show()

コードのポイント

  • time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(date))で、エポック時刻をローカル時間の日付文字列に変換しています。ミリ秒単位のタイムスタンプを扱う場合は、あらかじめ1000で割って秒に変換してから渡す点に注意してください。
  • mdates.DateFormatter('%Y-%m-%d %H:%M:%S')により、x軸の表示形式を細かく制御できます。「%Y-%m-%d」だけなど、目的に応じて書式を変更可能です。
  • axes.tick_params(rotation=10)でラベルをわずかに傾けることで、「年-月-日 時:分:秒」といった長い文字列でも重なりにくくなります。ラベルがさらに長い場合は、角度を30〜45度に増やすと効果的です。

実行結果

上記のコードを実行すると、X軸に日付ラベルが整形されて表示された折れ線グラフが出力されます。

Matplotlibで日付のxticklabels(X軸ラベル)を設定する方法

  1. Matplotlibのplt.colorbarでカラーバーの目盛り(ティック)数を設定する方法

    Matplotlibでカラーバーの目盛り(ティック)の数や位置を設定するには、set_ticks()メソッドとset_ticklabels()メソッドを使用します。以下の手順で簡単に実装できます。 手順 NumPyを使ってランダムなデータを作成する imshow()メソッドでデータを画像として表示する(2次元の正規ラスタ上に描画) スカラーマッピング可能なオブジェクト(ScalarMappable)を引数に指定して、colorbar()メソッドでカラーバーを作成する set_ticks()とset_ticklabels()メソッドで、カラーバーの目盛りの位置とラベルを設定する show()メ

  2. Outlook for Androidアプリでメールを設定する方法【初心者向け完全ガイド】

    Outlookは数十年にわたり、世界中の個人ユーザーや企業に愛用され続けてきた定番のメール管理ツールです。パソコンでは主要なメールクライアントとして活用している方も多いでしょうが、スマートフォンではまだ使いこなせていないという方も少なくありません。実は、AndroidスマートフォンへのOutlookの導入は非常に簡単で、わずか数分で完了します。Outlookを使えば、他のどのメールアプリよりも効率的にメールを整理できるだけでなく、スパムや悪意ある攻撃者からあなたを守るというセキュリティ面での大きなメリットも得られます。この記事では、Android端末にOutlookを設定する具体的な手順を詳し