Endash表示减号,而不是matlab的连字符

Endash表示减号,而不是matlab的连字符,matlab,Matlab,这是我的代码: 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)

这是我的代码:

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)
输出:


我尝试了解决方案,但连字符仍然存在。我希望出现en破折号,因为它是负号的标准符号。用破折号代替连字符的正确方法是什么?

我觉得你误用了
strep
。这对我很有用:

yticklabels(ax, strrep(yticklabels(ax),'-','--'));

在我看来,你似乎误用了strrep。这对我很有用:

yticklabels(ax, strrep(yticklabels(ax),'-','--'));
MATLAB Answers解释了如何为轴的标签设置(默认)解释器

set(groot,'defaultAxesTickLabelInterpreter','latex');  
您需要在打印之前调用此函数

设置此选项后,记号标签将被解释为LaTeX代码。这是一个比较。最后两个示例包括@XiangruiLi的答案(创建绘图后必须调用下一个代码段):

  • 无:
  • 乳胶:
  • 乳胶+
    strrep(…,'-','-'))
  • 乳胶+
    strrep(…,'-','$-$)
虽然最后一个可能是您想要的,但请注意,这肯定不是MATLAB想要的表示形式。因此,问题是您是否真的需要/想要经历这个模糊过程。

MATLAB Answers解释了如何为轴的标签设置(默认)解释器

set(groot,'defaultAxesTickLabelInterpreter','latex');  
您需要在打印之前调用此函数

设置此选项后,记号标签将被解释为LaTeX代码。这是一个比较。最后两个示例包括@XiangruiLi的答案(创建绘图后必须调用下一个代码段):

  • 无:
  • 乳胶:
  • 乳胶+
    strrep(…,'-','-'))
  • 乳胶+
    strrep(…,'-','$-$)

虽然最后一个可能是您想要的,但请注意,这肯定不是MATLAB想要的表示形式。因此,问题是你是否真的需要/想要经历这个模糊。

破折号不是负号。哦,我想看看我是否能在matlab绘图中得到与latex相同的减号。在latex中使用
$-$
得到一个实际的减号。我尝试了
yticklabels(ax,strep(yticklabels(ax),'$-$,'-'),但不起作用。en破折号不是减号。哦,我想看看我是否能在matlab绘图中得到与latex相同的减号。在latex中使用
$-$
得到一个实际的减号。我尝试了
yticklabels(ax,strep(yticklabels(ax),'$-$,'-'),但它不起作用。没关系,我必须在绘制曲线后放置
yticklabels
函数。我得到了想要的结果。非常感谢。没关系,在绘制曲线后,我必须放置
yticklabels
函数。我得到了想要的结果。非常感谢。