Abstract
matplotlibで使える色は沢山あります。なので使いたい色を探す際には「matplotlib 色 一覧」と検索される方が多いでしょう。本記事ではコマンドラインに色の一覧を表示させることで、色の一覧確認のためにわざわざブラウザを開く手間を省くmplcolorsを紹介します。
環境
一応今回の記事の環境を。Pythonを動かせれば大きな違いはないかと思います。
- Windows 10
- Python 3.7.9
もちろんですが、matplotlibが使えなければ意味がありません。念のため注意。
mplcolors
Tired of searching "matplotlib colors" every week/day/hour? This simple script displays them all conveniently right in your terminal emulator! This uses matplotlib.colors to get color names and RGB values and prints with ANSI escape sequences.
ターミナル上で、matplotlibで使える色の一覧を表示するスクリプト(Python)です。
例えば以下のように表示されます。
This requires a terminal with true color support. Notably, Mac's Terminal.app does not have this and so the colors cannot be properly displayed. I'm not sure that that is a workaround for this. On Mac I suggest switching to a different terminal emulator with more modern support such as kitty or iTerm.
注意点として、Macのデフォルトのターミナルではうまく動作しないようです。
導入
git使える人は適当なディレクトリでいつものようにcloneすればよいですね。
$ git clone https://github.com/AstroBarker/mplcolors.git
使えない・未導入の場合はzipでもダウンロードできます。
mplcolorsにアクセスして、緑のCodeをクリックしてDownload ZIPですね。(画像参照)
使い方
単にターミナルで色の一覧を表示するだけなら
$ python -u "path/to/mplcolors.py"
とすればよいです。ここでpath/to/mplcolors.py
はcloneもしくは解凍したmplcolors.py
へのフルパスです。
しかしさすがに面倒なのでエイリアスを設定するとよいでしょう。
Windows - コマンドプロンプト
Windowsのコマンドプロンプトの場合はdoskeyを用います。
私の場合、ユーザーディレクトリ直下にマクロをまとめたファイルを作って毎回読み込んでもらう設定にしています。
// もしマクロ定義ファイルを作成していなければ作成
C:\Users\takeMe>doskey /macros > macro.txt
// 適当なエディタで開く
C:\Users\takeMe>notepad macro.txt
作成したmacro.txtに、以下のようなエイリアスを設定します。=などにスペースを挟むとエラーなので注意。
ちなみに$*
はエイリアスに続く引数全ての意味です。これを書かないと引数が無視されます。
mplcolors=python -u path\to\mplcolors.py $*
コマンドプロンプトを起動したときにdoskey /macrofile=%USERPROFILE%\macros.txt
と打てばエイリアスが登録されます。
しかしながらこれは非常に面倒です。私の場合VSCodeから利用するので、ターミナルのプロファイルの設定で読み込ませています。
terminal.integrated.profiles.windows
の中に
"cmd-Default": {
"path": [
"${env:windir}\\Sysnative\\cmd.exe",
"${env:windir}\\System32\\cmd.exe"
],
"args": [
"/k",
"chcp",
"65001",
"&",
"doskey",
"/macrofile=%USERPROFILE%\\macros.txt"
],
"icon": "vm",
"overrideName": true
},
と登録しています。この中の"args"
部分の"/k", "doskey", "/macrofile=%USERPROFILE%\\macros.txt"
が起動オプションでマクロのファイルを読み込む設定になっています。ご自身の環境でもきっとそういった工夫ができるはずなので、調べてみてください。
Windows - パワーシェル
パワーシェルの場合はnotepad $PROFILE
などで起動時に読み込まれるファイルを開くことができます。
なおスクリプトの実行許可が必要なため、Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
などで実行の許可をしてください。
開いたら、以下のような関数を加筆します。
function mplcolors() {
python -u path\to\mplcolors.py $args
}
$args
はコマンドプロンプトの場合の$*
と同じようなもの。
※パワーシェルでは引数付きのエイリアスはSet-Alias
で定義できない模様。
パワーシェルを再起動させると、mplcolors
で動作すると思います。
Linux系統
例によって~/.bashrc
に加筆します。
alias mplcolors='python /path/to/dir/mplcolors.py'
表示例
Windows 10 PowerShellでの表示例です。これでいつでも開発中に色の一覧を確認できますね!!!
また、カラーバーの表示にも対応しています。いやー便利ですね。
また、私のPull Requestでは検索機能を実装しました。 もしマージされれば検索機能が追加されます! マージされました!
いつの間にか補色検索が実装されてました。
上の例では名前で検索しましたが、mplcolors -c "12ab84"
のように#を除いたカラーコードでも検索できるようです。
まとめ
これを導入すれば、色の検索に時間を割く必要がなくなりますね!
是非導入を検討してみてください。