Matlab图坐标轴 期刊格式修改【数值负号改标准 + 千位空格】

期刊要求负号由小键盘右上角的“-”修改为“−”(2212 Alt+X),并要求刻度上的数字存在千位空格。

然而本人matlab水平一般,只会偷别人的代码,但一时间没找到合适的方法实现2者,因此想办法融合了一下,效果还可以,记录一下并分享给大家。

原理:

将ZTickLabel(或者XTickLabel、YTickLabel)中的数字批量给改掉。

需要改2处:

(1)方法一:“-”改为“$-$”(需要Latex编译器,缺点:改后无法改成Times New Roman字体);或者方法二:“-”改为“−”(普通模式即可)

(2)识别出长度超过3位的数字,并在此之前添加空格。

修改后的结果见下图。

实施代码:

同时修改X、Y、Z三个坐标轴,不需要Z的话,可以自行删掉。

方法一:Latex编译器,缺点:改后无法改成Times New Roman字体。

                
### Matlab修改 X 轴坐标负号显示 在 MATLAB过程中,默认情况下使用的连字符 `-` 并不是正式出版物所偏好的减号 `−`(Unicode U+2212)。为了使表更符合学术期刊的要求,可以采取特定措施调整这一设置。 通过自定义 TickLabel 属性并利用 LaTeX 或 Text Properties 来变符号样式是一个有效途径。下面给出了一种具体实现方式: ```matlab % 创建数据样本用于绘制形 x = linspace(-pi*5, pi*5); y = sin(x); figure; plot(x, y) % 获取当前坐标轴句柄 ax = gca; % 定义新的X轴标签数组,其中包含带有正确负号的字符串 newXTickLabels = arrayfun(@(n) sprintf('$-%d\\pi$', abs(n)), ... floor(ax.XTick/pi), 'UniformOutput', false); % 应用新创建的标签到现有坐标轴上,并启用LaTeX解释器以支持特殊字符渲染 set(ax, 'XTickLabel', newXTickLabels, 'Interpreter', 'latex'); ``` 此段代码首先生成了一个简单的正弦波形作为例子展示对象;接着获取了当前活动窗口内的坐标轴信息以便后续操作;最后一步则是核心部分——构建一组经过精心设计的新刻度标记文字串,在这里特别注意到了对π倍数位置处添加了标准形式的负号表达式 `$-\num\pi$`[^1]。 此外,还可以考虑采用更为通用的方法处理任意范围内的数值型 tick label 的情况: ```matlab function ax = useMinusSignForTicks(ax) if nargin<1 || isempty(ax), ax=gca(); end old_labels = get(ax,'xticklabel'); new_labels=regexprep(old_labels,'-(?=\d)','−'); set(ax,'xticklabel',new_labels,... 'FontName','Times New Roman',... 'interpreter','tex') end ``` 这段函数会遍历指定坐标系中的所有 xticklabels,并将普通的短横线替换成长一点的标准减号 "−" 。同时设置了字体名称为 Times New Roman 和解析器为 tex 以确保最佳视觉效果[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值