أولوية المخطط الفرعي في Matlab

2

كنت أجيب على هذا السؤال وجئت بمشكلة - إنها أشبه بالفضول.

من له الأولوية في مؤامرة ماتلاب الفرعية أو المؤامرة الأوتوماتيكية أو خاصية الموقع ولماذا؟

لقد جربت بعض الاختبارات وحصلت على بعض النتائج الغريبة مثل الصور أدناه ،

Imagen 21381Imagen 21382Imagen 21383

تلقائي ، يدوي ، كلاهما .

هذا هو الرمز المستخدم.

a=1:10;b=a.^2;
figure
subplot('Position',[0.3,0.7,0.5,0.1]);plot(a,b,'-k');legend('Black');
subplot('Position',[0.3,0.3,0.5,0.1]);plot(a,b,'-r');legend('Red');
figure
subplot(2,1,1);plot(a,b,'-k');legend('Black');
subplot(2,1,2);plot(a,b,'-r');legend('Red');
figure
subplot(2,1,1,'Position',[0.3,0.7,0.5,0.1]);plot(a,b,'-k');legend('Black');
subplot(2,1,2,'Position',[0.3,0.3,0.5,0.1]);plot(a,b,'-r');legend('Red');

كما ترون ، فإن مؤامرة الصورة الأخيرة فوضوية ، وتولد محورًا في الموضع المناسب ، ولكن باستخدام

باستخدام 3 مؤامرات ونفس المخطط كما كان من قبل (مع تغييرات أصغر في أرقام المواقف) ، فإن المخطط الأخير لديه الإخراج التالي:

Imagen 21384

وهو ليس أفضل بكثير. بالنسبة لحالة "قطعة واحدة فقط" ، فإنه يتبع الدليل Position الإعدادات.

لقد وجدت هذه المذكرة في الدليل

When using a script to create subplots, MATLAB does not finalize the Position property value until either a drawnow command is issued or MATLAB returns to await a user command. The Position property value for a subplot is subject to change until the script either refreshes the plot or exits.

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

كتعليق إضافي ، هذا هو السلوك في إصدار 2017 أ. 2016a (من هذه الإجابة ) تعمل بشكل جيد. يعمل 2018a بشكل جيد ، ولكنه يولد تحذيرًا بشأن القيد المزدوج.

أي فكرة عن كيفية استخدام Matlab مخطط المخطط الفرعي الذي يحدد هذه المخططات الفرعية المتعددة وما هو بالضبط سبب وجود هذه المخرجات (مثال في هذه الحالة من خلال تعليمات غير متوافقة بشكل واضح)؟

1 إجابة

1
افضل جواب

لقد أعدت فقط تشغيل النص في Matlab 2016a وليس لدي هذه المشكلة ويفعل matlab ما أتوقعه. إذا لم تحدد موضعًا ، فستستخدم الإعدادات الافتراضية ، وإذا حددت موضعًا ، فستستخدم الموضع الذي تستخدمه. عادة ما تحظى الخصائص التي تقوم بتعيينها يدويًا بالأولوية دائمًا لأنك تحددها / تتصل بها صراحة. (لماذا لا أعرف ، ولكن يبدو لي أنه تفكير منطقي ، افعل ما أقوله لك وإذا لم أخبرك أن تقوم بتخمين / افتراض جيد)

أيضا Matlab ، يحدد مواضع المحاور (من المخططات الفرعية). ولا يتتبع مكان وجود قطع الأرض الفرعية في سلسلة قطع الأرض الفرعية بعد رسمها. يمكنك أن ترى هذا إذا قمت بحفظ المقابض. الشيء الوحيد المحفوظ هو الموضع النهائي لمحاور كل حبكة فرعية. لا يتم حفظ أرقام الأعمدة والصفوف في مقابض المخططات الفرعية (ربما في الشكل / المحاور الرئيسية ولكن سيتعين علي التحقق).

لذلك ربما تكون هذه مشكلة تعتمد على الإصدار ، نتائجي: Imagen 698980

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