matplotlibのcolormapは豊富なので、普段はそこから選べば良いのですが、他のツールで作った画との整合性など、自前でcolormapを用意したいときもあります。基本的には、ここの説明に従えば良いんですが、ちょっと英語が何言ってるか分からなかったので、日本語解説メモしておきます。
こんな感じで作ったmycmをcmap引数としてmatshowなどに渡せば良いんですが、微妙に書き方が分かりにくいです。まず、cdict1はRGBに分かれています。それぞれのタプルは3つの要素からできていて、最初の数字は0から1まで変化させて、色の始点と終点を決めています。だったら、各タプルの要素は2つでいいんじゃないか?と思いますが、確かに色が連続的に変化するときは、2つで十分なので、3つめの要素は2つ目と一緒にします。このコードだと、たとえばこんな画が出来ます。 ![]() 色を連続的に変化させたいときはこれで終わりですが、色の変化を不連続にしたいときに、3つ目の要素が効いてきます。3つ目の要素は新たな始点を定義します。
たとえば、コードをこのように変更すると、画はこう変わります。 ![]() redの0.5に相当する2つ目タプルの3つ目の要素が0.0になっています。赤の要素がcolorbar半分のところで、一度1.0まで上り詰めてRGBすべて1.0の白になったあと、不連続にRだけ0.0になるので、再び水色(Rが0でGとBが100%)に色が戻って、その後、赤の要素が増えて行くことになります。 ちょっと分かりにくいですが、理解出来ると、なんでも出来るので、やっぱりよく出来てるなーと思うところです。 ちなみに、matplotlibに関してすごいよくまとまっているサイトを見つけたので、貼っておきます。 スポンサーサイト
|
|
| ホーム |
|