Jupyter + Matplotlib > plt.cm.Set2の表示 (jetとの違い) | colormap(Set2など)のRGB値取得
8733 ワード
動作環境
GeForce GTX 1070 (8GB)
ASRock Z170M Pro4S [Intel Z170chipset]
Ubuntu 16.04 LTS desktop amd64
TensorFlow v1.2.1
cuDNN v5.1 for Linux
CUDA v8.0
Python 3.5.2
IPython 6.0.0 -- An enhanced Interactive Python.
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
scipy v0.19.1
geopandas v0.3.0
MATLAB R2017b (Home Edition)
ADDA v.1.3b6
処理概要
make_pov_180121.py > bashの処理(2007年)をPythonで実装(2018年) > 43分の処理は3.5秒になった
Matplotlibで描画処理をしていたが、Povrayでの処理が速いことが分かった。
Povrayで処理する場合、RGB値を自分で設定することになりそう。
Matplotlibで使用していたのはSet2というカラーバーだった。
Set2を使ったコードを実装してみた。
参考: Jupyter | Matplotlib > 2次元データの可視化 > imshow() | scatter()
code
Jupyterコード。
test_colorByRGB_180121.ipynb
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm
from pylab import rcParams
rcParams['figure.figsize'] = 7, 3
rcParams['figure.dpi'] = 130
def get_value(ax, ay):
return ax
# 1. get data
NUM_DATA = 10000
x = np.random.rand(NUM_DATA)
y = np.random.rand(NUM_DATA)
color = get_value(x, y)
# 2. draw data
size = 25 # arbitrary
fig = plt.figure()
ax1 = fig.add_subplot(1,2,1)
im1 = ax1.scatter(x, y, size, color, cmap=plt.cm.Set2)
fig.colorbar(im1)
ax2 = fig.add_subplot(1,2,2)
im2 = ax2.scatter(x, y, size, color, cmap=plt.cm.jet)
fig.colorbar(im2)
fig.tight_layout()
分かった事項
- jetではなだらかに色が変わる
- Set2では断続的に色が変わる
RGB値取得
以下のJupyterコードで取得できた。
test_colorByRGB_180121.ipynb(二つ目のセル)
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm
from pylab import rcParams
for pos in range(0, 10 + 1):
val = pos / 10.0
print(val, plt.cm.Set2(val))
run
0.0 (0.40000000000000002, 0.76078431372549016, 0.6470588235294118, 1.0)
0.1 (0.40000000000000002, 0.76078431372549016, 0.6470588235294118, 1.0)
0.2 (0.9882352941176471, 0.55294117647058827, 0.3843137254901961, 1.0)
0.3 (0.55294117647058827, 0.62745098039215685, 0.79607843137254897, 1.0)
0.4 (0.90588235294117647, 0.54117647058823526, 0.76470588235294112, 1.0)
0.5 (0.65098039215686276, 0.84705882352941175, 0.32941176470588235, 1.0)
0.6 (0.65098039215686276, 0.84705882352941175, 0.32941176470588235, 1.0)
0.7 (1.0, 0.85098039215686272, 0.18431372549019609, 1.0)
0.8 (0.89803921568627454, 0.7686274509803922, 0.58039215686274515, 1.0)
0.9 (0.70196078431372544, 0.70196078431372544, 0.70196078431372544, 1.0)
1.0 (0.70196078431372544, 0.70196078431372544, 0.70196078431372544, 1.0)
Author And Source
この問題について(Jupyter + Matplotlib > plt.cm.Set2の表示 (jetとの違い) | colormap(Set2など)のRGB値取得), 我々は、より多くの情報をここで見つけました https://qiita.com/7of9/items/ad15551e6683e0302700著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .