Adding fractions to axis tick marks
25 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Mitchell Frechette
am 1 Nov. 2016
Kommentiert: Erik RF
am 20 Mär. 2021
How do you turn the tick mark labels into fractions rather than decimals. Take the following code for example. I would like the tick mark to remain in their current location but display their associated fraction instead.
x=.1:.1:.5
y=1:5
clf
plot(x,y,'color','r','linewidth',2)
set(gca, 'XTick', [1/16 1/8 3/16 1/4 5/16 3/8 7/16 1/2])
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 1 Nov. 2016
If you are using R2014b or later, you
set(gca, 'TickLabelInterpreter', 'latex', 'XTickLabel', {'$\frac{1}{16}$', '$\frac{1}{8}$', '$\frac{3}{16}$', '$\frac{1}{4}$', '$\frac{5}{16}$', '$\frac{3}{8}$', '$\frac{7}{16}$', '$\frac{1}{2}$'})
If you are using an earlier version, you could go through some trouble to text() the individual labels in place, because in those earlier versions, individual text() could have an interpreter but TickLabelInterpreter could not be set. So in those earlier versions it would probably be easier to
set(gca, 'XTickLabel', {'1/16' '1/8' '3/16' '1/4' '5/16' '3/8' '7/16' '1/2'})
Weitere Antworten (1)
Jan
am 31 Okt. 2018
Is it possible to find a soft-code this? So instead of
set(gca, 'TickLabelInterpreter', 'latex', 'XTickLabel', {'$\frac{1}{16}$', '$\frac{1}{8}$', '$\frac{3}{16}$', '$\frac{1}{4}$', '$\frac{5}{16}$', '$\frac{3}{8}$', '$\frac{7}{16}$', '$\frac{1}{2}$'})
I would like to go for a version where
a=[16 8 4 2 1]
set(gca, 'TickLabelInterpreter', 'latex', 'XTickLabel', {'$\frac{1}{a}$'})
So basicly my question is, how to load a variable while writing in a math mode of latex.
1 Kommentar
Erik RF
am 20 Mär. 2021
Yes, try this.
val = 0:0.25:10; % your vector of values in decimal form
[num, den] = rat(num); % convert to rational form
ticks = '$\frac{'+string(enu)+'}{'+string(den)+'}$';
set(gca, 'TickLabelInterpreter', 'latex', 'XTickLabel', ticks)
You can also add more info to each label if you want, for example add pi like this:
ticks = '$\frac{'+string(enu)+'}{'+string(den)+'}\pi$';
Siehe auch
Kategorien
Mehr zu Filter Analysis finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!