8
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Matplotlibグラフのx,y,zの注意点

Last updated at Posted at 2019-09-27

皆さん、Matplotlib使っていますかーー?

私は、グラフとかあまり好きではなく、
データサイエンティフィックに【この辺りに顕著に結果が出ているようだ…】という
シリアスドラマのような展開が苦手です。

どちらかというと、直感的に体感してもらう動的飛び道具にして使うことが多いでしょうか。
今回はMatplotlibにおちょくられたので、もう二度とこんな気持ちにならないように備忘録を兼ねて記事にします。

##みんなのx,y,z軸の基準ってどっち方向でしょう
私の認識はこうです
xyz基本型.png
右から左/左から右:x軸
上から下/下から上:y軸
手前から奥/奥から手前:z軸
Matplotlibもそうだろうと思ってレッツ

nogood.py
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

#1点だけ表示されるサンプル(x,y,zにたくさんのデータが入る)
x = np.array([1])
y = np.array([2])
z = np.array([3])

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax = Axes3D(fig)
#ここでプロット
ax.plot(x,y,z,marker="o",linestyle='None')
plt.show()

これを、1点ではなく人間の骨格点にして置き換えて、その他いろいろエッセンスを足した。
(カメラに向かって右手を振っている想定(つまり、左側の右手)を俯瞰で見ている)
ng-min.gif
ズコー
寝てるー!!

y軸とz軸が違う。
3Dが得意ではない私は、ここでx,y,zの軸はどれがどちらに向くのが正しいのかわからなくなり
旅に出ました。

##もう一つのルールー
Matplotlibに限らず、こういった基準もあるようです。
xyz変則型.png
ここでは、もう高さとか奥行とかそういうのではなくなってきているというか、
じゃあこの立方体をぐるっとしたら結局同じとか、
言いたいことは分かる、だから何が言いたいの?とか、
バカにはその辺の草でも食わしておけとか、
色々お察しくださいますと幸いです。

先ほどのコードを再度持ち出します。

lets.py
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

#1点だけ表示されるサンプル(x,y,zにたくさんのデータが入る)
x = np.array([1])
y = np.array([2])
z = np.array([3])

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax = Axes3D(fig)
#y,zを入れ替えてplot
#ax.plot(x,y,z,marker="o",linestyle='None')
ax.plot(x,z,y,marker="o",linestyle='None')

plt.show()

お仕事内容に応じて適切にプロットください。

normal-min.gif

何が起きているか分かるようになりましたし、反転も改善されています。

#付録

appendix.py
#Forを使ってくるっと回転させる
ax.view_init(elev=None, azim=i)

normalround-min.gif

アーティストのライブみたいになりました。

8
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?