scaleとzmapの違い

scaleもzmapも、入力範囲と出力範囲を指定し、その範囲に従って数値変換してくれるオブジェクトですね。zmapは直線変換のみで、scaleは指数変換が可能です。もっとも、scaleのデフォルトの指数係数は1.0で直線変換なので、zmapは要らないじゃん、って気もするのですが、でもscaleはスケーリングで、zmapはマッピングなのです。文字通りですが、この違いが何かと言うと…

scaleはスケーリング(比率計算)なので、入力範囲を超える数値が入力された場合は、出力範囲を超える数値が出力されます。一方、zmapでは、入力範囲外の数値が入力された場合には、出力範囲内に収まるようにクリッピングされます。つまり、zmapでは出力範囲外の数値や出力されません。ということは、数値変換はしなくてもクリッピングのためにzmapを使っても良いわけですね。

scale-vs-zmap.jpg

それから、入力範囲または出力範囲の指定で大小関係が逆である(第1アーギュメントが第2アーギュメントよりも大きな値である、または、第3アーギュメントが第4アーギュメントよりも大きな値である)場合に、scaleはそのままの比率に従って変換を行いますが、zmapは大小関係が正しくなるようにアーギュメントの値を読み替えて変換します。

当然のことながら、どちらのオブジェクトを使うかは適所適材ですから、それぞれの特徴をつかんでおくことが大切ね、っとこれまた学内ネタでしたが、こーゆー小ネタをブログに書くのはどうなんでしょうね?? もちろん、ワークショップ自体はもっと大きな枠でやっていて、そこから小ネタにしやすいことだけを書いているわけなのですが….

scaleとzmapの違い” に1件のフィードバックがあります

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です