ম্যাটপ্লটলিবে একটি স্বচ্ছ Poly3Dcollection প্লট প্লট করতে, আমরা নিম্নলিখিত পদক্ষেপগুলি নিতে পারি -
- চিত্রের আকার সেট করুন এবং সাবপ্লটের মধ্যে এবং চারপাশে প্যাডিং সামঞ্জস্য করুন
- একটি নতুন চিত্র তৈরি করুন বা একটি বিদ্যমান চিত্র সক্রিয় করুন৷ ৷
- একটি '~.axes.Axes' যোগ করুন projection=3d সহ একটি সাবপ্লট বিন্যাসের অংশ হিসাবে চিত্রটিতে .
- x তৈরি করুন , y এবং z ডেটা পয়েন্ট।
- উল্লম্বগুলির একটি তালিকা তৈরি করুন৷ ৷
- রূপান্তর করুন x , y এবং z ডাটা পয়েন্টগুলি একটি জিপ করা তালিকার মধ্যে।
- Poly3d এর উদাহরণের একটি তালিকা পান .
- add_collection3d() ব্যবহার করে প্লটে একটি 3D সংগ্রহ বস্তু যোগ করুন পদ্ধতি।
- অক্ষগুলি বন্ধ করুন।
- চিত্রটি প্রদর্শন করতে, শো() ব্যবহার করুন পদ্ধতি।
উদাহরণ
from matplotlib import pyplot as plt from mpl_toolkits.mplot3d.art3d import Poly3DCollection, Line3DCollection plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True fig = plt.figure() ax = fig.add_subplot(111, projection='3d') x = [0, 2, 1, 1] y = [0, 0, 1, 0] z = [0, 0, 0, 1] vertices = [[0, 1, 2], [0, 1, 3], [0, 2, 3], [1, 2, 3]] tupleList = list(zip(x, y, z)) poly3d = [[tupleList[vertices[ix][iy]] for iy in range(len(vertices[0]))] for ix in range(len(vertices))] ax.scatter(x, y, z) ax.add_collection3d(Poly3DCollection(poly3d, facecolors='w', linewidths=1, alpha=0.5)) ax.add_collection3d(Line3DCollection(poly3d, colors='k', linewidths=2, linestyles='--')) plt.axis('off') plt.show()
আউটপুট