how to assign colour to a double plot by clicking on graph in UIAxes appdesinger Matlab (R2020a)?

17 visualizaciones (últimos 30 días)
hello, my objective is to assign different colour to a double plot of own choice. if i have three variable data...
a= [1 2 3]
b = [4 5 7]
c = [7 8 9]
plot(a,b);
hold(app.UIAxes,'on')
plot (a.c)
% this will give us double plot... now one way to assign colour to plot is >>> plot(a,b,"color",'red') and plot(a,c,"color",'blue').
% second way is to throug "drop down" for example >>> SelectColour = app.dropdown.Value and then use plot(a,b,"colour",'SelectedColout')... with above two ways i succesfully assigned colour....
% third is to use default colour sequence... but i want user selected colour for every plot.
The above was just to show that i made effort but in first case we cannot change colour and in second case it changes colour for every graph. it should be coded such it saves colour assigned then assign next colour via dropdown
or
on "UIAxes" when i double click and assign any colour to first plot then any second colour to other plot.... Kindly Guide.
  2 comentarios
Adam Danz
Adam Danz el 20 de Oct. de 2020
Editada: Adam Danz el 20 de Oct. de 2020
What release of Matlab are you using?
Do be clear, you want the user to be able to select a color for each line independently, is that correct?
Do you have a list of colors in mind?
Why doesn't your method #2 work? Could you share that part of the code? It will probably be easy to fix.
taimour sadiq
taimour sadiq el 21 de Oct. de 2020
Thanks Adam for ur Reply... yes i want the user to be able to select a color for each line independently i m using R202a and colour could be any or lets say 'red' & Blue. Yes second choice is working but when i double plot it changes same. colour for both plots
i was using the code
function plotwidth(app)
a = 0:0.1:2*pi;
b = sin(a);
c = cos(a);
mycolour = app.SelectedColourDropDown.Value;
if app.LCheckBox.Value && ~app.SCheckBox.Value
app.UIAxes.cla;
app.M = plot(app.UIAxes,a,b,"Color",mycolour);
elseif app.SCheckBox.Value && ~app.LCheckBox.Value
app.UIAxes.cla;
app.M = plot(app.UIAxes,a,c,"Color",mycolour);
elseif app.LCheckBox.Value && app.SCheckBox.Value
app.N = plot(app.UIAxes,a,b,"Color",mycolour);
hold(app.UIAxes,"on");
app.M = plot(app.UIAxes,a,c,"Color",mycolour);
hold(app.UIAxes,"off");
else
app.M.Visible = 'off';
end
end

Iniciar sesión para comentar.

Respuesta aceptada

Adam Danz
Adam Danz el 20 de Oct. de 2020
Editada: Adam Danz el 20 de Oct. de 2020
Line color can be changed when the figure is in Edit-plot mode by right-clicking on the line which shows the lines context menu and then by selecting Color (Matlab R2020B).
To turn on PlotEdit,
uif = uifigure();
uiax = uiaxes(uif);
plot(uiax, rand(5,3)); % add some lines
% Turn on plot-edit
% This can be placed in a callback function to toggle on/off
plotedit(uif,'on') % 'off' to turn off
now right-click on a line
  8 comentarios
taimour sadiq
taimour sadiq el 26 de Mzo. de 2021
Hello... Dear Adam ur Guidence helpled me alot.. ur guided command"Plotedit" worked for me and fullfill my requirement as i desired... Thanks Alot..

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Specifying Target for Graphics Output en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by