Does anyone know how to create colors?
24 views (last 30 days)
Show older comments
Hello everyone,
How can I create/ have different colors from the standard ones (i.g. 'g','r','b','m'...)?
Thank you.
Accepted Answer
Bjorn Gustavsson
on 16 Aug 2021
Colours can be specified by rgb-values in a 1-by-3 array with values between zero and one. So for example:
light_blue = [0.5 0.5 1];
plot(0:12,randn(1,12),'color',light_blue)
HTH
7 Comments
Bjorn Gustavsson
on 17 Aug 2021
@Image Analyst, I have a poor short-time memory - but that was a bit extreme even for me.
@Pul, Great. Have a look at the file exchange for color-manipulation-tools that might help you with more demanding color-designing work - always look there for tools that solve or nearly solve your problems (it has saved me many months of work)!
More Answers (1)
Image Analyst
on 16 Aug 2021
Try this:
% Create 20 different colors according to the jet color map.
colors = jet(20);
% Plot randome data, each curve with one of the colors we created.
% Basically you have to get the color equal to one row from colors.
for k = 1 : size(colors, 1)
thisColor = colors(k, :);
y = rand(1, 5) + 2 * k; % Create some random data.
plot(y, '.-', 'Color', thisColor, 'LineWidth', 4, 'MarkerSize', 50); % Plot this one curve.
hold on; % Don't let subsequent plots blow away this one we just drew.
end
grid on;
xlabel('X');
ylabel('Y');
3 Comments
Image Analyst
on 17 Aug 2021
light_blue = [0.5 0.5 1];
plot(1:12, randn(1,12), 'color', light_blue)
If you have created a list of lots of colors, like in my example, and, for example, you want to make the curve with the 10th color from the list, you can do
plot(y, '.-', 'Color', colors(10, :), 'LineWidth', 4, 'MarkerSize', 50); % Plot this one curve.
My demo showed that, where I plotted every color from k=1 to k=20.
See Also
Categories
Find more on Discrete Data Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!