كيفية تعيين موضع المخطط الفرعي في matlab

1

أحاول تعيين هذا المخطط الفرعي واحدًا تلو الآخر ، لكن لا يمكنني تغيير موقفهم. ماذا يمكنني أن أفعل؟

figure
subplot(10,1,1,'Position',[0.5,0.69,1,0.1]);plot(B{1, 1}(:,[1,3]),'Color', 
[0,0,0]);legend('Black');
subplot(10,1,2,'Position',[0.5,0.37,1,0.1]);plot(B{2, 1}(:,[1,3]),'Color', 
[1,0,0]);legend('Red');
subplot(10,1,3,'Position',[0,0,1,0.1]);plot(B{3, 1}(:,[1,3]),'Color', 
[0,1,0]);legend('Lime');
subplot(10,1,4,'Position',[0,0,1,0.1]);plot(B{4, 1}(:,[1,3]),'Color', 
[0,0,1]);legend('Blue');
subplot(10,1,5,'Position',[0,0,1,0.1]);plot(B{5, 1}(:,[1,3]),'Color', 
[0,1,1]);legend('Cyan');
subplot(10,1,6,'Position',[0,0,1,0.1]);plot(B{6, 1}(:,[1,3]),'Color', 
[1,0,1]);legend('Magenta');
subplot(10,1,7,'Position',[0,0,1,0.1]);plot(B{7, 1}(:,[1,3]),'Color', 
[0.5,0.5,0.5]);legend('Gray');
subplot(10,1,8,'Position',[0,0,1,0.1]);plot(B{8, 1}(:,[1,3]),'Color', 
[0.5,0,0]);legend('Maroon');
subplot(10,1,9,'Position',[0,0,1,0.1]);plot(B{9, 1}(:,[1,3]),'Color', 
[0.5,0,0.5]);legend('Purple');
subplot(10,1,10,'Position',[0,0,1,0.1]);plot(B{10, 1}(:,[1,3]),'Color', 
[0,0.5,0.5]);legend('Teal');

2 الاجابة

3
افضل جواب

حسنًا ، يمكنك تغيير الموقف ، طالما أنك تفعل ذلك بشكل صحيح.

كما هو مذكور في دليل المخطط الفرعي ، يمكنك تحديد الموضع:

  • تلقائيا

باستخدام

subplot(m,n,p)

الذي يستخدم m س n رسم الشبكة في p موضع. هذا ما استخدمته جزئيا.

  • يدويًا

باستخدام

subplot('Position',[left bottom width height])      

وهنا لديك مشكلة. كما هو موضح في الدليل ، إذا كان متداخلاً ، فسيتم مسح الرسم البياني الموجود أسفله. في حالتك ، تتداخل العديد من المواقف.
لاحظ أيضًا أن المواقف يتم تطبيعها دائمًا ، لذلك left=0.5 مع width=1 يعني أنك قمت بقص نصف الشكل في اتجاه س. انتبه عند استخدام الموضع اليدوي.
كما أشارت إجابة Cris Luengo ، يمكنك استخدامها axis مباشرة. الذي لديه بعض الإيجابيات والسلبيات. لكن الوحدة في axis تطبيع أيضا. لذا ، اعرف ما تستخدمه.

عند استخدام كل من الإعدادات (اليدوية والتلقائية) ، ليس من الواضح بالنسبة لي أيهما سيكون له تفضيلات ، حيث حصلت على مخرجات مختلفة عندما اختبرت جزءًا من التعليمات البرمجية الخاصة بك.

:مؤلف
2
افضل جواب

إذا كنت ستقوم بتعيين موضعها يدويًا ، فما عليك سوى إنشاء كائنات المحاور مباشرة:

figure
axes('Position',[0.5,0.69,1,0.1]);plot(B{1, 1}(:,[1,3]),'Color', 
[0,0,0]);legend('Black');
axes('Position',[0.5,0.37,1,0.1]);plot(B{2, 1}(:,[1,3]),'Color', 
[1,0,0]);legend('Red');

وثائق ل axes .

الشيء الجميل في subplot هو أنه يضع المحاور لك. ليس لها غرض آخر.

:مؤلف
فوق
قائمة طعام