ขณะนี้ฉันมีอาร์เรย์เมทริกซ์ nx3 ฉันต้องการพล็อตสามคอลัมน์เป็นสามแกน ฉันจะทำเช่นนั้นได้อย่างไร?
ฉันได้ googled และมีคนแนะนำให้ใช้Matlabแต่ฉันรู้สึกลำบากในการทำความเข้าใจ ฉันยังต้องการให้เป็นพล็อตกระจาย
ใครช่วยสอนหน่อย
ขณะนี้ฉันมีอาร์เรย์เมทริกซ์ nx3 ฉันต้องการพล็อตสามคอลัมน์เป็นสามแกน ฉันจะทำเช่นนั้นได้อย่างไร?
ฉันได้ googled และมีคนแนะนำให้ใช้Matlabแต่ฉันรู้สึกลำบากในการทำความเข้าใจ ฉันยังต้องการให้เป็นพล็อตกระจาย
ใครช่วยสอนหน่อย
n
อาร์เรย์ 3 ตัวคุณจะได้พล็อตเส้นโค้งเป็น 3 มิติ สำหรับ "พล็อต 3 มิติ" คุณจะต้องมีn x m x l
อาร์เรย์ คุณต้องการเส้นโค้งโดยมีทูเพิลอันใดอันหนึ่ง(x,y,z)
แทนจุดบนเส้นโค้งหรือไม่?
คำตอบ:
คุณสามารถใช้matplotlibสำหรับสิ่งนี้ matplotlib มีโมดูลmplot3dที่จะทำสิ่งที่คุณต้องการ
from matplotlib import pyplot
from mpl_toolkits.mplot3d import Axes3D
import random
fig = pyplot.figure()
ax = Axes3D(fig)
sequence_containing_x_vals = list(range(0, 100))
sequence_containing_y_vals = list(range(0, 100))
sequence_containing_z_vals = list(range(0, 100))
random.shuffle(sequence_containing_x_vals)
random.shuffle(sequence_containing_y_vals)
random.shuffle(sequence_containing_z_vals)
ax.scatter(sequence_containing_x_vals, sequence_containing_y_vals, sequence_containing_z_vals)
pyplot.show()
โค้ดด้านบนสร้างตัวเลขดังนี้:
plt.zlabel('zlabel')
เคยชิน ในการติดป้ายแกน z คุณต้องใช้: ax.set_zlabel('Z')
.
ใช้รหัสต่อไปนี้ที่ใช้ได้สำหรับฉัน:
# Create the figure
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# Generate the values
x_vals = X_iso[:, 0:1]
y_vals = X_iso[:, 1:2]
z_vals = X_iso[:, 2:3]
# Plot the values
ax.scatter(x_vals, y_vals, z_vals, c = 'b', marker='o')
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
ax.set_zlabel('Z-axis')
plt.show()
ในขณะที่ X_iso เป็นอาร์เรย์ 3 มิติของฉันและสำหรับ X_vals, Y_vals, Z_vals ฉันคัดลอก / ใช้ 1 คอลัมน์ / แกนจากอาร์เรย์นั้นและกำหนดให้กับตัวแปร / อาร์เรย์เหล่านั้นตามลำดับ
ใช้เส้นกำกับแทน!
นี่คือสิ่งที่สามารถมีลักษณะดังนี้:
http://asymptote.sourceforge.net/gallery/3D%20graphs/helix.pdf
นี่คือรหัส: http://asymptote.sourceforge.net/gallery/3D%20graphs/helix.asy
Asymptote ยังสามารถอ่านในไฟล์ข้อมูล
และแกลเลอรีเต็ม: http://asymptote.sourceforge.net/gallery/
ในการใช้เส้นกำกับจากภายใน Python:
http://www.tex.ac.uk/tex-archive/graphics/asymptote/base/asymptote.py