MATLAB Answers

0

Plotting missing data in different colour

jacob Mitch さんによって質問されました 2019 年 11 月 16 日 20:54
最新アクティビティ Adam Danz
さんによって コメントされました 2019 年 11 月 16 日 22:06
Im trying to plot prices as dots and my guess price nan values as different coloured dots. If I have.
years=[1;2;3;4;5;6;7;8;9;10];
price1=[1;1;1;2;3;4;5;6;7;10];
price2=[2;2;2;3;4;5;6;7;8;11];
price3=[1.5;1.5;1.5;nan;2;nan;6;7;9;nan]; %Im filling the nan values by taking (price1+price2)/2 I want to plot the final
guessp=zeros(length(years),1); %price3 against years with the values being in different colours So far I have
for i=1:length(years)
if ~isnan(prices3(ii))
guessp(r)=prices2(i); %gets the price3 value if it is not nan
else
guessp(i)=(price1(i)+price2(i))/2; %fills in the nan data but how do I plot years against my new guessp with the filled
%nan values being different colour dots
end
end
plot(years,guessp) %but with my new nan values in different colours

  0 件のコメント

サインイン to comment.

1 件の回答

Adam Danz
回答者: Adam Danz
2019 年 11 月 16 日 21:50
 採用された回答

years=[1;2;3;4;5;6;7;8;9;10];
price1=[1;1;1;2;3;4;5;6;7;10];
price2=[2;2;2;3;4;5;6;7;8;11];
price3=[1.5;1.5;1.5;nan;2;nan;6;7;9;nan];
guessp=zeros(length(years),1);
guessPrices = (price1 + price2) /2; %all guess prices
guessPrices(~isnan(price3)) = NaN; %remove known prices
figure()
plot(years, price3, 'ro', 'DisplayName', 'Price3')
hold on
plot(years, guessPrices, 'bo', 'DisplayName', 'GuessPrices')
legend()
191116 164948-Figure 2.png

  2 件のコメント

jacob Mitch 2019 年 11 月 16 日 22:03
thats perfect thank you
Adam Danz
2019 年 11 月 16 日 22:06
Glad I could help!

サインイン to comment.



Translated by