動作環境
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)