Matlab:绘制平行于y轴的线
我想用x=10,20,30,…,100绘制所有平行于y轴的线 我把x写成:Matlab:绘制平行于y轴的线,matlab,plot,yaxis,Matlab,Plot,Yaxis,我想用x=10,20,30,…,100绘制所有平行于y轴的线 我把x写成: x=linspace(1,100,10); 我试着用这种方式来描绘: figure(1) plot([x; x], [zeros(1, length(x))*min(ylim); ones(1, length(x))*max(ylim)],'r') 但这并不奏效。我如何写y来绘制这样的线呢?你的想法是正确的,但是线端的x坐标和y坐标都是错误的。对于x,您应该使用: x = 10:10:100; 这将生成[10,20
x=linspace(1,100,10);
我试着用这种方式来描绘:
figure(1)
plot([x; x], [zeros(1, length(x))*min(ylim); ones(1, length(x))*max(ylim)],'r')
但这并不奏效。我如何写y来绘制这样的线呢?你的想法是正确的,但是线端的x坐标和y坐标都是错误的。对于x,您应该使用:
x = 10:10:100;
这将生成[10,20,…,100]
<另一方面,code>linspace(1100,10)生成10个介于1和100之间的等距值,这有些不同。要使用linspace
获得相同的值,可以执行linspace(10100,10)
对于y,由于使用的是零
,因此该行仅从零延伸到y上限,而不是从下限延伸到上限。您的电话应该是:
plot([x; x], repmat(ylim', 1, numel(x)), 'r')
这会重复每条线的y轴限制,因此第条线从
(x(i),ylim(1))
到(x(i),ylim(2))
您的想法是正确的,但是线端的x坐标和y坐标都是错误的。对于x,您应该使用:
x = 10:10:100;
这将生成[10,20,…,100]
<另一方面,code>linspace(1100,10)生成10个介于1和100之间的等距值,这有些不同。要使用linspace
获得相同的值,可以执行linspace(10100,10)
对于y,由于使用的是零
,因此该行仅从零延伸到y上限,而不是从下限延伸到上限。您的电话应该是:
plot([x; x], repmat(ylim', 1, numel(x)), 'r')
这会重复每条线的y轴限制,因此第条线是从
(x(i),ylim(1))
到(x(i),ylim(2))
这并不能完全回答您的问题,但可能正是您想要的
使用XGrid
属性创建(支持)平行于Y轴的线
ax = axes;
ax.XGrid = 'on';
或者对于旧的Matlab版本
set(ax, 'XGrid', 'on')
(如果没有轴手柄ax
,可以使用)
这将在绘图的当前位置创建线。如果要将网格线设置为特定范围,则必须更改X点
ax.XTick = 0:10:100;
如果您认为线太弱(难以看到),可以调高栅格alha值(默认值为0.5)
或者给它上色
ax.GridColor = 'r'; % Set grid color to red
这并不能完全回答你的问题,但可能正是你想要的 使用
XGrid
属性创建(支持)平行于Y轴的线
ax = axes;
ax.XGrid = 'on';
或者对于旧的Matlab版本
set(ax, 'XGrid', 'on')
(如果没有轴手柄ax
,可以使用)
这将在绘图的当前位置创建线。如果要将网格线设置为特定范围,则必须更改X点
ax.XTick = 0:10:100;
如果您认为线太弱(难以看到),可以调高栅格alha值(默认值为0.5)
或者给它上色
ax.GridColor = 'r'; % Set grid color to red
这样,平行于y轴的直线,x=10,20,30。。。100,但x=11,25时,x稍微大一点……这是因为您如何使用
linspace
。这里也有一个错误,我将编辑答案。这样,平行于y轴的线,没有x=10,20,30。。。100,但x=11,25时,x稍微大一点……这是因为您如何使用linspace
。这里也有一个错误,我会编辑答案。你说x=10,20,,…,100,但是linspace(1100,10)代码>创建一个起始值为1的向量。您应该使用linspace(10100,10)
或者更简单的10:10:100
你说x=10,20,,…,100,但是linspace(1100,10)代码>创建一个起始值为1的向量。您应该使用linspace(10100,10)
或者更简单的10:10:100
我想也使用这个:)但是在我看来它没有那么灵活。我想也使用这个:)但是在我看来它没有那么灵活。