読者です 読者をやめる 読者になる 読者になる

けつあご日記

こんちは.菊地です.なんか浅ーいことをいろいろ書きます

行列をプロットするときは転置取るってことぐらいすぐに気付けよクソかよ【なれない日記20160727】

なれない日記 Python

行列をプロットするときは転置取るってことぐらいすぐに気付けよクソかよ
行列をプロットするときは転置取るってことぐらいすぐに気付けよクソかよ
行列をプロットするときは転置取るってことぐらいすぐに気付けよクソかよ
行列をプロットするときは転置取るってことぐらいすぐに気付けよクソかよ
行列をプロットするときは転置取るってことぐらいすぐに気付けよクソかよ


行列のインデックスはx行y列なんだからこうでしょうが

f:id:kichiku_kikuchi:20160728000346j:plain:w500

プロットはこう取るでしょうが

f:id:kichiku_kikuchi:20160728000400j:plain:w500

そしたらこうでしょうが

f:id:kichiku_kikuchi:20160728000407j:plain:w500

転置取らなかったら軸がおかしくなるでしょうが
転置取らなかったら軸がおかしくなるでしょうが
転置取らなかったら軸がおかしくなるでしょうが
転置取らなかったら軸がおかしくなるでしょうが
転置取らなかったら軸がおかしくなるでしょうが

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

a = [1,2,3,4,5,6,7,8,9,10]
b = [2,4,6,8,10,8,6,4,2,0]

A = np.zeros((len(a), len(b)))

for i in range(len(a)):
  for j in range(len(b)):
    A[i, j] = a[i] * b[j]

x, y = np.meshgrid(np.arange(0,10,1), np.arange(-10,0,1))

fig = plt.figure()

ax = fig.add_subplot(1, 2, 1, projection='3d')
ax.plot_wireframe(x, y, A)


A_trans = np.transpose(A)
ax = fig.add_subplot(1, 2, 2, projection='3d')
ax.plot_wireframe(x, y, A_trans)

plt.show()

f:id:kichiku_kikuchi:20160727234054p:plain:w500

ほらおかしくなったでしょうが

間違えたらshpe mismatch出るようにとかしとけよ.

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

a = [1,2,3,4,5,6,7,8,9,10]
b = [2,4,6,8,10,8,6,4,2]

A = np.zeros((len(a), len(b)))

for i in range(len(a)):
  for j in range(len(b)):
    A[i, j] = a[i] * b[j]

x, y = np.meshgrid(np.arange(0,10,1), np.arange(-10,-1,1))

fig = plt.figure()

ax = fig.add_subplot(1, 2, 1, projection='3d')
ax.plot_wireframe(x, y, A)


A_trans = np.transpose(A)
ax = fig.add_subplot(1, 2, 2, projection='3d')
ax.plot_wireframe(x, y, A_trans)

plt.show()

てゆーか間違うなよクソかよ
てゆーか間違うなよクソかよ
てゆーか間違うなよクソかよ