Changing scientific notation on plot
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Colby
el 22 de Abr. de 2015
Comentada: Mike Garrity
el 19 de Feb. de 2016
Hello, I'm having issues changing the default scientific notation used on some plots I'm making. I've tried the following lines of code. yt=get(ax(2), 'ytick');
set(ax(2), 'YTickLabel',sprintf('%.0d',yt));
When I use these lines, it plots every tick value for that axis, at every tick on that axis. Does anyone know what I'm doing wrong? I can't seem to figure it out. Attached is an image of the plot after the above two lines of code are executed.
<<
>>
Thanks for your time
0 comentarios
Respuesta aceptada
Guillaume
el 22 de Abr. de 2015
Editada: Guillaume
el 22 de Abr. de 2015
set(ax(2), 'YTickLabel', arrayfun(@(v) sprintf('%.0d', v), yt, 'UniformOutput', false));
should work. Your sprintf call returns a single string that is the concatenation of all your tick values, whereas YTickLabel expects a cell array of strings.
2 comentarios
Más respuestas (2)
Stephen23
el 22 de Abr. de 2015
Editada: Stephen23
el 22 de Abr. de 2015
The output of sprintf is a simple string, so MATLAB repeats this string for each tick mark. If you want to define each string uniquely, then supply them in a cell array. The axes properties documentation states this clearly: "Tick mark labels, specified as a cell array of strings. If you do not specify enough strings for all the ticks marks, then the axes cycles through the specified strings"
If yt is a numeric vector (which it should be!), then this will convert those values to a cell array of strings:
arrayfun(@(n)sprintf('%.0d',n), yt, 'UniformOutput',false)
0 comentarios
hongyu zhai
el 19 de Feb. de 2016
Editada: Stephen23
el 19 de Feb. de 2016
There is a simple way to change the Axis scientific notation by change the basic property of the XAxis or YAxis.
These two example will help you.
1 comentario
Mike Garrity
el 19 de Feb. de 2016
We should note that this is a feature that was introduced in R2015b. It is a lot nicer than messing around with the TickLabels by hand as seen above, but you won't be able to use it with earlier versions of MATLAB.
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!