这个问题可能有点像下面的链接,但这对我不起作用...... http://nl.mathworks.com/matlabcentral/answers/102530-how-can-i-change-the-default-settings-for-the-linewidth-property-before-i-plot-a-figure-in-matlab

我正在研究一个 matlab 函数,它会自动以全屏模式打开你的图形,如果有的话,它会在第二台显示器上打开。到目前为止,一切正常。我已经实现了在函数内部设置字体大小,因此无需绘制任何内容且无需制作 xlabel(..) 等:

% Fontsize used at the figure
if ~exist('fontsize_manual','var')|| isempty(fontsize_manual)
    set(gca,'FontSize',16)
else
    set(gca,'Fontsize',fontsize_manual)
end

现在是我的问题:我可以以相同的方式更改图中绘制的线条的线宽吗?所以也是在这里,在函数内部预先定义线宽,然后在你的脚本中预先定义一些线条等。我更喜欢这只适用于你正在处理的图形,这样你就可以为每个图形更改这个“默认”并保存如果需要,它们都具有不同的线宽和字体大小。

我尝试了下面的行,但这只会改变轴的线宽。
set(gca,'LineWidth',2)

有没有人可以帮我解决这个问题?

%------------------------------------------------- -------------------------------------------------- ---------------------------
下面的答案很好,但我发现了一个新问题。
下面的代码是通过解决上一个问题偶然发现的:
set(gca,'LineWidth',3)

事实证明,这会改变轴的宽度。但现在的问题......同样,这仅适用于第一个数字。 (见图)

如果我在第二个图中的绘图之后也将此代码放入我的 session 中,则第二个图中的宽度会发生变化。在制作第二个数字时,看起来没有到达正确的句柄,或者在函数内部类似的东西。你知道这里有什么问题吗?

最佳答案

我认为您所追求的是 DefaultLineLineWidth 属性,您可以为其分配一个特定图形(或根)的值。

这是一个简单的代码说明;基本上我创建了一个图形,将其“可见”属性设置为“关闭”并分配默认线宽(这听起来很奇怪......)。绘制的线的线宽为 4,而之后创建的另一个图具有默认宽度:

clear
clc

hFig1 = figure('Visible','off'); %// Create figure, set it to not visible.

set(gcf,'DefaultLineLineWidth',4); %// Assign default linewidth.

x = 1:10;
plot(x,x.^2-5);

set(hFig1,'Visible','on')
title('Figure 1','FontSize',16);

hFig2 = figure;
plot(x,2.*x+rand(1,10));
title('Figure 2','FontSize',16);

情节:



希望有所帮助!

关于Matlab:如何在实际绘制之前更改图形中的线宽?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27257357/

10-11 16:00