gpt4 book ai didi

matlab - 如何精确控制 MATLAB 绘图中的线条粗细?

转载 作者:太空宇宙 更新时间:2023-11-03 19:24:50 26 4
gpt4 key购买 nike

我想精确控制在 MATLAB 中绘制的线条的粗细。不仅仅是 0.5, 1, 2, 3, ... 点,而是例如0.2 毫米。是否可以?

导出设置窗口中有一个自定义线比例和最小线宽框,但它不起作用。

enter image description here

示例代码:

hf = figure;
ha = axes;
ha.Units = 'centimeters';

t = linspace(0,2*pi);
hl = plot(t,sin(t),'Linewidth',0.1);
axis tight

saveas(hf,'test','pdf')

最佳答案

MatLab 使用 1 PostScript 点(或“桌面出版点”)= 1/72 英寸的标准定义。

(您可以通过导出一个图形来轻松确认这一点,例如,一条“LineWidth”等于 36 的线。如果您不按比例打印它,纸上的线将是 1/2 英寸宽)

所以如果你想要一条0.2mm的线,你可以将线宽设置为0.567左右:

h = plot([0 0],[0 1]);
set(h,'LineWidth',0.567);

如果您想将其设置为所有绘图的默认线宽:

 set(0,'defaultlinelinewidth',0.567)

用于单个 session ,或放入您的 startup.m 文件以永久设置它。

回应@szymon-bęczkowski:在 2014b 及更高版本中,Matlab 中似乎存在一个错误,在导出为 EPS 或 PDF 时将线宽设置为最小值 1。参见 here对于相关的错误。因此,“解决方法”就是坚持线宽>=1。

虽然那里好像也行不通,但是强烈推荐export_fig作为 Matlab 内置打印功能的替代品。

关于matlab - 如何精确控制 MATLAB 绘图中的线条粗细?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29780162/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com