Plotting a cell array with double values
9 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Apar
el 30 de Ag. de 2011
Comentada: Elias Salilih
el 7 de Ag. de 2023
Hello,
I am very new to Matlab and searched a lot to find a solution to the problem I am facing but, somehow I have not been able to.
I have an array which looks something like - test1 = 0.3; test2 = 0.4; test3 = 0.5; test4 = 0.2;
testArray = {test1, test2, test3, test4}
I would like to plot this with y-axis having a scale from say 0-1 and, x-axis having values test1, test2, test3, test4 and the actual plotted values on the graph being the values of these variables (0.3, 0.4, 0.5, 0.2).
Is this possible in Matlab? If yes how? And if not, can I at least have something which is close this kind of display? If I just try to plot testArray by using plot(testArray), I get an error -
??? Error using ==> plot Conversion to double from cell is not possible.
which I am guessing is not too hard to solve but that is only a backup display which I would like if, there is not better way to display what I want.
Thank you.
0 comentarios
Respuesta aceptada
Walter Roberson
el 30 de Ag. de 2011
Use
testArray = [test1, test2, test3, test4]
and the problem will go away.
plot(1:4, testArray, 'XTick', 1:4, 'XTickLabel', {'test1', 'test2', 'test3', 'test4'})
I wonder, though, whether you would perhaps prefer to use bar() instead of plot() ?
3 comentarios
Elias Salilih
el 7 de Ag. de 2023
What about plotting cell vs double using double axis plot (i.e., plotyy)
Más respuestas (1)
Yoav Livneh
el 30 de Ag. de 2011
Use
testArray = [testArray{:}];
This will transform testArray into a regular array which you can plot using
plot(testArray)
1 comentario
siddharth rawat
el 5 de Feb. de 2017
Editada: siddharth rawat
el 5 de Feb. de 2017
Simplicity is elegance.
Ver también
Categorías
Más información sobre Grid Lines, Tick Values, and Labels en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!