3

我已经按照这个线程为我的图表提出了 X 轴标签。但是,我希望 Matlab 将标签视为 tex 代码。换句话说,当我有 K_1 时,我希望 Matlab 将其显示为 K 下标 1。我该怎么做?

4

2 回答 2

3

这是一个有点丑陋的解决方案,但仍然......

您可以手动删除刻度并添加text元素:

x = 1:5;
y = x.*x;
plot(x, y, 'b')
set(gca, 'XTick',[]);
text(1,-0.8,'A_1');
text(2,-0.8,'B_1');
text(3,-0.8,'C_1');
text(4,-0.8,'D_1');
text(5,-0.8,'E_1');

在此处输入图像描述

于 2012-10-06T23:26:47.503 回答
0

与@Andrey 类似的解决方案。您可以使用arrayfun它来更轻松地输入标签:

x = 1:5;
y = x.*x;
plot(x, y);
set(gca, 'XTick',[]);
labels = {'K_1', 'K_2', 'K_3', 'K_4', 'K_5'};
arrayfun(@text, x, -1*ones(size(x)), labels);

您甚至可以使用以下方法生成任意数量的标签:

labels = strcat({'K_'},int2str((1:5)'))';
于 2014-10-11T09:58:46.117 回答