سؤال

لدي حاليا مجموعة مصفوفة NX3. أريد رسم الأعمدة الثلاثة على أنها ثلاثة محور. كيف أقوم بذلك؟

لقد غوغل واقترح الناس استخدام ماتلاب, ، لكني أواجه صعوبة في فهم ذلك. أحتاج أيضًا إلى أن تكون مؤامرة مبعثرة.

هل يمكن لأحد أن يعلمني؟

هل كانت مفيدة؟

المحلول

يمكنك استخدام 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()

الرمز أعلاه يولد رقمًا مثل:

matplotlib 3D image

نصائح أخرى

استخدم الكود التالي الذي عملت بالنسبة لي:

# 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 هو صفيف ثلاثي الأبعاد الخاص بي وللـ x_vals ، y_vals ، z_vals قمت بنسخه/استخدمه 1 عمود/محور من تلك الصفيف وتم تعيينه لتلك المتغيرات/المصفوفات على التوالي.

استخدم مقارب بدلاً من ذلك!

هذا ما يمكن أن يبدو عليه:

http://aspresto.sourceforge.net/gallery/3d٪20graphs/helix.pdf

هذا هو الرمز:http://aspremptote.sourceforge.net/gallery/3d٪20graphs/helix.asy

يمكن أن تقارب المقاربة أيضًا في ملفات البيانات.

والمعرض الكامل:http://aspremptote.sourceforge.net/gallery/

لاستخدام المقاربة من داخل بيثون:

http://www.tex.ac.uk/tex-archive/graphics/aspraptote/base/asptote.py

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top