下面是我的代码:
set(groot, 'defaultAxesTickLabelInterpreter', 'latex') %For axes;
ax = gca;
yticklabels(ax, strrep(yticklabels(ax),'--','–'));
set(ax,'ticklabelinterpreter','tex') %or 'tex' but not 'latex'
figure(1)
t= [0:0.01:2*pi];
x = sin(t);
y = cos(t)
plot(t, x, t, y)
输出:
我尝试了here的解决方案,但连字符仍然存在。我希望出现短破折号,因为它是负号的标准符号。让短破折号代替连字符出现的正确方法是什么?
3条答案
按热度按时间x4shl7ld1#
MATLAB Answers中的This post解释了如何设置轴标签的(默认)解释器。
打印前需要调用此函数。
有了这个设置,tick-labels将被解释为LaTeX代码。下面是一个比较。最后两个例子包括@XiangruiLi的答案(下一个代码片段必须在绘图创建后调用):
strrep(...,'-','--'))
:strrep(...,'-','$-$'))
:虽然最后一个可能是你想要的,但请注意,这肯定不是MATLAB想要的表示。因此,问题是你是否真的需要/想要经历这个模糊。
t98cgbkg2#
在我看来,您误用了
strrep
。这对我很有效:vbopmzt13#
使用实际的Unicode减号字符也应该可以(也是Octave):
在这种情况下,不需要将解释器设置为LaTeX。