سؤال

أنا أستخدم المخططات القطبية (POLAR(THETA,RHO)) في MATLAB.

هل هناك طريقة سهلة لتحديد مدى المحور الشعاعي ليقول 1.5؟

أنا أبحث عن شيء مشابه لأوامر xlim، ylim للمحاور الديكارتية.لم يتم العثور على أي شيء في المستندات حتى الآن.

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

المحلول

وهنا هو كيف استطعت أن تفعل ذلك.

والمؤامرة القطبية MATLAB (إذا نظرتم الى خيارات الرسومات مقبض متوفرة) ليس لديها أي شيء مثل xlim أو ylim. ومع ذلك، أدركت أن أول شيء تآمر مجموعات مجموعة، لذلك كنت قادرا على رسم وظيفة مع مجموعة دائرة نصف قطرها [-.5 0.5] على [-1 1] مؤامرة كما يلي:

theta  = linspace(0,2*pi,100);
r      = sin(2*theta) .* cos(2*theta);
r_max  = 1;
h_fake = polar(theta,r_max*ones(size(theta)));
hold on;
h      = polar(theta, r);
set(h_fake, 'Visible', 'Off');

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

نصائح أخرى

وهذا العمل بالنسبة لي ... كنت أرغب في نطاق دائرة نصف قطرها للذهاب إلى 30، لذلك أنا أول تآمر هذا

polar(0,30,'-k')
hold on

وثم تآمر ما كنت ترغب فعلا في. مخفيا هذه النقطة أولا تآمر وراء علامات الشبكة. فقط تأكد من تضمين

hold off

وبعد قيادة التآمر النهائي.

والحل بسيط هو جعل الرسم البياني وهمية وتعيين لونه إلى اللون الأبيض.

fake=100;
polar(0,fake,'w');
hold on;

real=10;
polar(0,real,'w');

في حال واجه أي شخص آخر هذا، هنا ال حل:

مثل سكوتي تي و gnovice كما أشار، يستخدم Matlab بشكل أساسي الوظيفة القطبية كواجهة للمخططات القياسية، ولكن مع الكثير من التنسيق خلف الكواليس لجعلها تبدو قطبية.انظر إلى قيم خصائص XLim وYLim للمخطط القطبي وستلاحظ أنهما يمثلان فعليًا حدود x وy للمخطط الخاص بك في الإحداثيات الديكارتية.لذا، لتعيين حد نصف القطر، استخدم xlim وylim، أو المحور، وكن ذكيًا بشأن القيم التي تحددها:

rlim = 10;
axis([-1 1 -1 1]*rlim);

...هذا كل ما في الامر.ماتلابينج سعيد :)

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