سؤال

وعادة عندما رسمها في MATLAB ، فإنه يرسم دائما على نفس الرقم. كيف يمكنني جعله رسم في شخصية جديدة؟

وأنا أعلم أنه من الابتدائي جدا، ولكن أنا لا تجد من استخدام بحث Google.

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

المحلول

figure;
plot(something);

أو

figure(2);
plot(something);
...
figure(3);
plot(something else);
...

وغيرها.

نصائح أخرى

وحين نفعل "الرقم (1)، والرقم (2)، ..." سوف يحل المشكلة في معظم الحالات، فإنه لن يحل لهم في جميع الحالات. لنفترض أن لديك مجموعة من الشخصيات MATLAB على سطح المكتب وكم لديك مفتوحة يختلف من وقت لآخر قبل تشغيل التعليمات البرمجية. باستخدام الإجابات المقدمة، سوف الكتابة هذه الأرقام، التي قد لا ترغب. الحل السهل هو لمجرد استخدام الأمر "شخصية" قبل أن المؤامرة.

وعلى سبيل المثال: لديك خمس شخصيات على سطح المكتب من السيناريو السابق الذي ركض وكنت تستخدم

figure(1);
plot(...)

figure(2);
plot(...)

وأنت تآمر فقط على الأرقام على سطح المكتب. ومع ذلك رمز

figure;
plot(...)

figure;
plot(...)

وشخصيات بإنشائه 6 و 7 مع المؤامرات المطلوب وترك المؤامرات السابقة الخاصة بك 1-5 وحدها.

والشيء الآخر أن نكون حذرين حول، هو استخدام الأمر clf (الشكل واضح) عندما كنت بدأت مؤامرة جديدة. وإلا كنت قد يكون التخطيط على الرقم موجود مسبقا (غير ممكن مع الأمر figure في حد ذاته، ولكن إذا كنت تفعل figure(2) قد يكون هناك بالفعل شخصية رقم 2)، مع أكثر من محور، أو محور التي يتم وضعها مضحك كيندا . استخدام clf للتأكد من أن كنت تريد ان تبدأ من الصفر:

figure(N);
clf;
plot(something);
...

وكما سبق وقال: سوف figure خلق شخصية جديدة لقطع القادمة. في الوقت الذي طالب figure يمكنك أيضا تكوينه. مثال:

figHandle = figure('Name', 'Name of Figure', 'OuterPosition',[1, 1, scrsz(3), scrsz(4)]);

والمثال يحدد اسم للإطار وحجم الخارجي منه فيما يتعلق الشاشة المستخدمة. هنا figHandle هو مؤشر إلى الرقم الناتج، ويمكن استخدامها في وقت لاحق لتغيير المظهر والمحتوى. الأمثلة على ذلك:

ودوت تدوين:

figHandle.PaperOrientation = 'portrait';
figHandle.PaperUnits = 'centimeters';

وقديمة الطراز:

set(figHandle, 'PaperOrientation', 'portrait', 'PaperUnits', 'centimeters');

وعن طريق مقبض مع تدوين نقطة أو set، يتم تكوين خيارات للطباعة هنا.

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

وخيار شائع آخر هو عندما كنت لا تريد قطع متعددة في إطار واحد

f = figure;
hold on
plot(x1,y1)
plot(x2,y2)
...

والمؤامرات مجموعات البيانات متعددة على نفس الرقم (جديد).

وبهذه البساطة هذا -

figure, plot(yourfigure);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top