color plot arguments questions

Hello ,what is the role of 'color' and col(d,:) arguments in the plot command?
plot(phi, eta * abs(J), 'color', col(d,:));
I couldnt find in the syntax bellow this pattern.
Thanks
‏‏לכידה.JPG

 Respuesta aceptada

Steven Lord
Steven Lord el 10 de Mayo de 2019

1 voto

That is using the plot(___,Name,Value) syntax where ___ is replaced by phi, eta * abs(J). 'Color' is listed in the Name-Value Pair Arguments subsection of the Input Arguments section on the plot documentation page and col(d,:) is the value for that name.
Look at the "Add Title and Axis Labels" example on the plot documentation page for a demonstration of that syntax. In that case the RGB value used to color the line is [0, 0.7, 0.9] -- no red, a lot of green, and even more blue makes the line blue-green.

7 comentarios

fima v
fima v el 10 de Mayo de 2019
"hat is using the plot(___,Name,Value) syntax where ___ is replaced by phi, eta * abs(J). 'Color' is listed in the Name-Value Pair Arguments subsection of the Input Arguments section on the plot documentation page and col(d,:) is the value for that name."
could you please give a simpler example so i will see the role of each one?
Thanks.
Steven Lord
Steven Lord el 10 de Mayo de 2019
v = 1:10;
plot(v, v.^2, 'Color', 'red', 'Marker', 'pentagram')
This plots a line with points (1, 1), (2, 4), (3, 9), etc. up through (10, 100). The x coordinates of the points are the first input to plot, v. The y coordinates of the points are the second input, v.^2, which squares each element in v.
The last four arguments are taken in pairs, a Name followed by a Value.
'Color', 'red' tells MATLAB to plot the line red. 'Color' is the Name for this pair of arguments and 'red' is the Value.
'Marker', 'pentagram' tells MATLAB to plot the markers for the points using five pointed stars (pentagrams.)
Using the Name and Value pairs you can set properties of the line as it's being plotted, rather than having it be plotted using the default values then have its properties change. More likely than not the line's color or markers changing would be too quick for you to notice, but it could cause the plot to flicker. Better to set them to your desired values from the start.
fima v
fima v el 10 de Mayo de 2019
Hello , so in my case the last argument "col(d,:)" its not a sinle value we have ":"
which means that it takes all values of second argument of "col" so its a vector?
what is the meaning of this when setting the color type?
Thanks
plot(phi, eta * abs(J), 'color', col(d,:));
Steven Lord
Steven Lord el 10 de Mayo de 2019
According to the documentation the Value for the 'Color' Name argument can be "specified as an RGB triplet, a hexadecimal color code, a color name, or a short name."
When I specified 'red' in my plot call I used the color name. Your code, assuming the col matrix has three columns, specifies an RGB triplet. In my plot call I could have used 'r' (the short name for red) or [1 0 0] (the RGB triplet for red) instead of 'red'.
There are eight colors that you can specify using color names or short names: red, green, blue, cyan, magenta, yellow, black, and white. If you want a different color you're going to want to use its RGB triplet. The uisetcolor tool can help you select a color interactively and determine its RGB triplet.
fima v
fima v el 10 de Mayo de 2019
So given your example its.
v = 1:10;
plot(v, v.^2, 'Color', [0 1 1], 'Marker', 'pentagram')
Thank you very much.
Steven Lord
Steven Lord el 10 de Mayo de 2019
[0 1 1] corresponds to green + blue = cyan. So if you want to plot your data in cyan yes, that will work. If you did a different combination, like [0.5 0 0] (maroon) or [0.75 0.75 0.75] (silver) it would be different colors. I got those color combinations from Wikipedia. MATLAB doesn't recognize the names 'maroon' or 'silver' but it does recognize the RGB triplet.
There are other Name / Value pairs plot recognizes, like 'LineWidth' (to make thicker or thinner lines) and 'MarkerSize' (larger or smaller markers.) The plot documentation pages lists the most commonly used one, the documentation page listing the properties of the graphics object plot returns (which is linked at the end of the plot documentation page) lists more.
v = 1:10;
plot(v, v.^2, ... % plot points on y = x.^2
'Color', [0.75 0.75 0.75], ... % in silver / light gray
'LineWidth', 4, ... % using a thick line
'Marker', 'p', ... % with star markers
'MarkerSize', 24) % and make the stars big
fima v
fima v el 10 de Mayo de 2019
Thank you very much.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Line Plots en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 10 de Mayo de 2019

Comentada:

el 10 de Mayo de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by