Error: Bad property value for color- why?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi, I have following error, which I don't know why it is occurring:
Error using plot
Bad property value found.
Object Name: line
Property Name: 'Color'.
I have many customized colors that I use via a cell:
cl={'w','bla','blat','w2','ora','orat','w3','sbl','sblt','w4','bgr','bgrt','w5','yel','yelt','w6','blu','blut','w7','ver','vert'};
plot([ xx fliplr(xx) xx(1)],[0 0 1 1 0],'color',cl{M{1,m-1}(q)+1},'linewidth',12)
Thanks!
2 commentaires
Image Analyst
le 3 Juil 2014
What is the value of M{1,m-1}(q)? Try this
M{1,m-1}(q) % Spit out to command window
fprintf('M{1,m-1}(q) = %d\n', M{1,m-1}(q)); % Again as integer
Réponse acceptée
Robert Cumming
le 4 Juil 2014
It looks like you are passing a string into the color command and not the RGB value:
i.e. you are doing:
plot([ xx fliplr(xx) xx(1)],[0 0 1 1 0],'color',cl{M{1,m-1}(q)+1},'linewidth',12)
where cl is a string. It is not being evaluated to the RGB you want. While in theory you could "eval" the string - I would not recommend that approach.
A much better solution would be to use a matrix or cellarray containing the colors. Or you can use your current approach (using names) with a structure:
myColors.sbl=[0.35 0.7 0.9]; % skyblue
myColors.bgr=[0 0.6 0.5]; % bluish green
Then access the colors by using dynamic fieldnames:
plot([ xx fliplr(xx) xx(1)],[0 0 1 1 0],'color',myColors.(cl{M{1,m-1}(q)+1}),'linewidth',12)
Plus de réponses (1)
Image Analyst
le 3 Juil 2014
Where did you get all those color names? I don't think they're ones that are recognized. Try simple things like 'r', 'y', 'k', etc. as well as 3 element arrays with values between 0 and 1, for example [.2, .3, .7].
2 commentaires
Image Analyst
le 4 Juil 2014
No. Because you're putting the name of the variable in there, not the variable itself. It has no idea that the string 'blat' is the name of some variable you created.
Voir également
Catégories
En savoir plus sur Data Distribution Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!