2
我有numpy.matrix
類型奇怪的行爲
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = Axes3D(fig)
# [...]
# Downsampling for plotting
# type(verts): np.matrix
# verts.shape: (3, 700000)
verts = verts_small[:, ::1000]
ax.plot(verts[0, :], verts[1, :], verts[2, :], 'o')
這有奇怪的行爲做了一些計算的結果。將所有點排成一行。
如果相反:
verts = np.array(verts[:, ::1000])
的3D-情節按預期工作。這是一個預期的行爲還是它的一個錯誤?
你看過':: 1000'索引後'verts'的形狀嗎?如果您從2d數組開始,則需要確保您正確編制了正確的維度。在較小的東西上練習那種索引,讓你明白其中的差異。 – hpaulj
@hpaulj在我糾正的第一個電話中有一個錯字。順便說一下,我在切片後獲得的形狀對於'np.array'和'np.matrix'類型都是相同的。 – SolidSnake
請記住,當您索引'np.matrix'時,結果仍然是2d。 'np.ndarray'可能是1d(取決於你如何編制索引)。 – hpaulj