instructor gave us set(gca,'X​Tick',1:le​ngth(numVa​l)); how do i use this for setting color to inputs?

7 views (last 30 days)
Richard on 5 Dec 2014
Answered: matt dash on 5 Dec 2014
set(gca,'XTick',1:length(numVal)); set(gca,'XTickLabel',numVal(1,:));
the task is to set the inputs we put in to the line color in plotting, I imagine this set has something to do with it, can anyone explain this? Having a hard time setting the inputs as the color of my lines in plotting.
  1 Comment
dpb on 5 Dec 2014
The above set has nothing whatsoever to do with colors so it's irrelevant to the question subject. All this does is set the number of tick marks and their labels to the values in the first row of the array numVal. (BTW, the use of length here isn't robust coding;
length(X)=max(size(X)); % by definition
so if the array were to happen to have more rows than columns, there would be a mismatch and an error raised. If, numVal is a vector, then the second size value is 1 so it works, but then the subscripting expression (1,:) is totally superfluous).

Sign in to comment.

Accepted Answer

matt dash
matt dash on 5 Dec 2014
The [ ] operator in matlab concatenates things. For example [1 2 3] concatenates 3 numbers to make a vector. Similarly ['r','^-'] results in 'r^-'. So if the user inputs a one-character color, you can use it like this: plot(x,y,[color,'^-']). Note that there are no quotes around color because it is the name of a variable that contains a string, NOT a string itself.

More Answers (1)

Richard on 5 Dec 2014
Okay the task states that we should make inputs for the color of line 1, line 2 ect. But you have to have an input statement to put in the color. For example Color1=input('enter the color of line 1: '); Say you are given x and y arrays, how do you plot x and y with that color from the input? Plot(x, y, 'color1^-') doesn't work. And thanks for telling me what that set meant. Appreciate you helping.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!