How do I get exponent values for log axes in MATLAB R2014b?

1 Ansicht (letzte 30 Tage)
I have a plot created using the 'semilogx' function. I am trying to access the exponent values for the tick labels for the 'x' axis. In MATLAB R2014a, I could access the exponent values using the command:
ticks = get(gca,'XtickLabel') which would return a character array of exponent values for the ticks. How do I do the same task in MATLAB R2014b?

Akzeptierte Antwort

MathWorks Support Team
MathWorks Support Team am 25 Feb. 2021
Bearbeitet: MathWorks Support Team am 25 Feb. 2021
Starting in R2014b, the XTickLabel, YTickLabel, or ZTickLabel properties for a log axis contain cell arrays with the full TeX markup used for the tick labels. In previous releases these properties contain a character array with only the exponent values for the tick marks.
Starting in R2014b, this code returns the tick labels a cell array with the full TeX markup:
semilogx(1:10000);
ax = gca;
ticks = ax.XTickLabel
 
ticks =
 
    '10^{0}'
    '10^{1}'
    '10^{2}'
    '10^{3}'
    '10^{4}'
 
 
class(ticks)
 
ans =
 
cell
In R2014a and earlier, this code returns a character array with the exponent values:
semilogx(1:10000);
ax = gca;
ticks = get(ax,'XTickLabel')
ticks =
 
0
1
2
3
4
class(ticks)
 
ans =
 
char
To extract just the exponent values from the tick label property, use the regexprep function with the following syntax.
expression = '\d*\^\{(\-?\d*)\}';
replace = '$1';
exponents = regexprep(ticks,expression,replace)
 
exponents =      '0'    '1'    '2'    '3'    '4' 
Documentation for the regexprep function is available at the following link:
https://www.mathworks.com/help/matlab/ref/regexprep.html

Weitere Antworten (0)

Kategorien

Mehr zu Line Plots finden Sie in Help Center und File Exchange

Produkte


Version

R2014b

Community Treasure Hunt

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

Start Hunting!

Translated by