کلیدستان

نسخه‌ی کامل: رسم نمودار با رنگها و علایم مختلف
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام ، من نموداری به شکل زیر دارم و میخوام اونو رسم کنم ، برای تعریف رنگ و علایم مثلثی یا ... چطور باید کدنویسی کنم؟ و اون مستطیل راهنما رو چطوری باید به شکل اضافه کنم؟ ممنونم

 
سلام.
برای تعیین نوع نمایش خطوط، مبحث زیر را ببینید :

http://www.kelidestan.com/matlab/matlab-108.php

البته فکر می کنم برای هر خط، دو دستور ترسیم به کار برده. مثلا ابتدا یک خط رو به طور معمولی رسم کرده و سپس، نقاطی از آن را به صورت مثلث رسم نموده است. به هر حال، مبحث بالا، چگونگی تغییر نحوه نمایش خطوط منحنی را آموزش می دهد.

برای تعیین رنگ منحنی ها، مبحث زیر را بخوانید :

http://www.kelidestan.com/matlab/matlab-97.php

و برای نمایش جعبه مستطیلی در گوشه شکل، مبحث زیر کمکتون میکنه :

http://www.kelidestan.com/matlab/matlab-113.php

همچنین برای تعیین ضخامت منحنی ها، مبحث زیر را بخوانید :

http://www.kelidestan.com/matlab/matlab-95.php

بنابراین باید از تمام این ویژگی ها استفاده کنید تا موفق به ترسیم شکل دلخواه خود بشوید.
(۱۳۹۲/۰۶/۲۸, ۰۷:۲۴ ب.ظ)'admin' نوشته: [ -> ]البته فکر می کنم برای هر خط، دو دستور ترسیم به کار برده. مثلا ابتدا یک خط رو به طور معمولی رسم کرده و سپس، نقاطی از آن را به صورت مثلث رسم نموده است. به هر حال، مبحث بالا، چگونگی تغییر نحوه نمایش خطوط منحنی را آموزش می دهد.

 
این خطوط از وصل شدن چند نقطه به یکدیگر به وجود آمده اند و تابعی برای رسم خطوط وجود ندارد. از پاسختون تشکر میکنم.
(۱۳۹۲/۰۶/۲۸, ۰۹:۰۸ ب.ظ)'4i469x' نوشته: [ -> ]
(۱۳۹۲/۰۶/۲۸, ۰۷:۲۴ ب.ظ)'admin' نوشته: [ -> ]البته فکر می کنم برای هر خط، دو دستور ترسیم به کار برده. مثلا ابتدا یک خط رو به طور معمولی رسم کرده و سپس، نقاطی از آن را به صورت مثلث رسم نموده است. به هر حال، مبحث بالا، چگونگی تغییر نحوه نمایش خطوط منحنی را آموزش می دهد.
 
این خطوط از وصل شدن چند نقطه به یکدیگر به وجود آمده اند و تابعی برای رسم خطوط وجود ندارد. از پاسختون تشکر میکنم.
 

تمامی دستورات رسم در متلب، بر اساس نقاط گسسته می باشند، اصلا اساس نرم افزار متلب همین هست. قرار نیست هر وقت گفتیم رسم خط، یک پرانتز باز کنیم و توضیح بدیم که رسم خط بر اساس نقاط گسسته تعریف شده است، این موضوع در مباحث اولیه آموزش نرم افزار متلب گفته می شود و دیگر فرض می شود که کاربران از آن اطلاع دارند. به هر حال، برای عدم وجود ابهام، یک مثال براتون می زنم :

کد:
clear all
close all
clc

x=0:0.3:2*pi;
y=sin(x);
plot(x,y,'-g^','linewidth',3)
legend('sin(x)')

نتیجه :


این روش معمولی هست، خوب حالا ممکنه که دوست داشته باشیم، منحنی نرم تر باشد، در این صورت این رسم را با دو دستور plot انجام می دهیم، یکی به صورت خط معمولی و یکی به صورت نقاط به صورت مثلث (منظورم همان رسم خط است که نقاط را به صورت مثلث می بینیم). برای رسم خط به صورت معمولی، فاصله نقاط را کمتر می کنیم تا منحنی آن، نرم تر باشد. فقط تنها مشکل این روش این است که ممکنه دستور legend درست عمل نکنه، که باید به فکر راه حل برای آن باشید. کدهای متلب :

کد:
clear all
close all
clc

x=0:0.1:2*pi;
y=sin(x);
plot(x,y,'-g','linewidth',3)
hold on
t=0:0.3:2*pi;
y=sin(t);
plot(t,y,'^g','linewidth',3)
legend('sin(x)')

نتیجه :

 

 

 
 [عکس: lightbulb.gif] منظورم این بود که نمودارهایی که عکسش رو گذاشتم ، درصد حذف شدگی در عددهای صحیح 10 ، 20 ، 30 ، ....80،  90 درصد است و مابین این اعداد اطلاعات وجود ندارد و در هر درصد یک عدد به دست اومده که در محور عمودی مشخص شده و از به هم وصل کردن اونها تشکیل یک نقطه دادند ، و چون هر نمودار مربوط به یک الگوریتم جداگانه است ، به رنگ های مختلف نمایش داده شده اند. [عکس: biggrin.gif]    باز هم از توضیحات کاملتون تشکر میکنم [عکس: blush.gif]، و از اینکه با این سایت آشنا شدم خیلی خوشحالم ، 5 ماه پیش به صورت اتفاقی با این سایت آشنا شدم و به دوستان هم پیشنهاد کردم. [عکس: flower.gif]
 
متشکرم دوست عزیز. 
شما جزء مخاطبین بامعرفت سایت کلیدستان هستید و هر از مدتی به سایت سر می زنید.
با وجودی که این روزها سرم شلوغه، ولی سعی می کنم که حتما پاسخ سوالات داده شود و در ضمن، پاسخ ها، عجله ای نباشد. 
بنده منظور شما رو اشتباه متوجه شده بودم (یک لحظه فکر کردم که اطلاعات بنده را به چالش کشیده اید و بنابراین از آن اطلاعات دفاع کردم ).
کد:
close all
clear all
clc
z=10;

percent=[1,2,3,4];
xx=z*[1,2,3,4];
yy=z*[5,6,7,8];
zz=z*[9,2,3,4];
xxx=z*[5,2,4,6];
yyy=z*[1,8,4,2];
zzz=z*[9,5,3,2];

plot(percent,xx,'r:s','LineWidth',1)
xlabel('Percentage Of Traces Decimated','FontSize',12);
ylabel('SNR','FontSize',12);
hold all
plot(percent,xxx,'r-^','LineWidth',2.5,...
'MarkerFaceColor','r')
hold all
plot(percent,yy,'g:s','LineWidth',1)
hold all
plot(percent,yyy,'g-^','LineWidth',2.5,...
'MarkerFaceColor','g')
hold all
plot(percent,zz,'b:s','LineWidth',1)
hold all
plot(percent,zzz,'b-^','LineWidth',2.5,...
'MarkerFaceColor','b')

legend('Component X : xxx','Component X : xx',...
'Component Y : yy','Component Y : yyy',...
'Component Z : zz','Component Z : zzz')

این کدیه که برای رسم شکل بالا به کار بردم، اعداد و نام ها رو تغییر بدید. موفق باشید.