Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab绘图中的垂直线未显示:缩放问题_Matlab - Fatal编程技术网

Matlab绘图中的垂直线未显示:缩放问题

Matlab绘图中的垂直线未显示:缩放问题,matlab,Matlab,我试图在Matlab中为绘图添加一条垂直线,但它没有显示出来。我认为问题是我正在考虑的数字的比例太小了。这是我的代码: 案例1:该行不显示 A=randn(1000,1)*10^(-15); [f,x]=ksdensity(A); plot(x,f, ':k') hold on line([0 0],[0 10^(-14)]) hold off A=randn(1000,1); [f,x]=ksdensity(A); plot(x,f, ':k') hold on line([0 0]

我试图在Matlab中为绘图添加一条垂直线,但它没有显示出来。我认为问题是我正在考虑的数字的比例太小了。这是我的代码:

案例1:该行不显示

A=randn(1000,1)*10^(-15);

[f,x]=ksdensity(A);
plot(x,f, ':k') 
hold on
line([0 0],[0 10^(-14)])
hold off
A=randn(1000,1);

[f,x]=ksdensity(A);
plot(x,f, ':k') 
hold on
line([0 0],[0 1])
hold off
案例2:显示该行

A=randn(1000,1)*10^(-15);

[f,x]=ksdensity(A);
plot(x,f, ':k') 
hold on
line([0 0],[0 10^(-14)])
hold off
A=randn(1000,1);

[f,x]=ksdensity(A);
plot(x,f, ':k') 
hold on
line([0 0],[0 1])
hold off

如何在案例1中显示该行?

两种情况下都显示该行。在案例2中,评估

ylim([0 10.1^(-14)])   % sets range of y axis to be [0 10.1^(-14)]
这将只是放大,并揭示出一直绘制的非常微小的线。只是y范围为[0,0.45]时不可见

这证实了@CrisLuengo的评论


回应OP的评论:
如果您想让它们同时出现,我建议如下:

A=randn(1000,1);
[f,x]=ksdensity(A);
plot(x,f, ':k') 
hold on
line([0 0],[0 1])
hold off
ylim([0 max(f)])    % <--- sets the y-axis limits based on output from ksdensity
A=randn(1000,1);
[f,x]=k密度(A);
绘图(x,f':k')
等等
行([0],[0 1])
拖延

ylim([0最大值(f)])%这条线在两种情况下都显示出来。在案例2中,评估

ylim([0 10.1^(-14)])   % sets range of y axis to be [0 10.1^(-14)]
这将只是放大,并揭示出一直绘制的非常微小的线。只是y范围为[0,0.45]时不可见

这证实了@CrisLuengo的评论


回应OP的评论:
如果您想让它们同时出现,我建议如下:

A=randn(1000,1);
[f,x]=ksdensity(A);
plot(x,f, ':k') 
hold on
line([0 0],[0 1])
hold off
ylim([0 max(f)])    % <--- sets the y-axis limits based on output from ksdensity
A=randn(1000,1);
[f,x]=k密度(A);
绘图(x,f':k')
等等
行([0],[0 1])
拖延

ylim([0 max(f)])%您使用的是什么版本?我使用的是R2017B。我想,这条线太小了,看不见。你为什么要画这么短的线我的意思是轴标度的小w.r.t。y轴如果在缩放采样值时未缩放分布,则仅x轴为y轴。高度无关紧要。它的中心应该是零。我不明白为什么它没有显示。尝试使用
行([0 0],[0 1])
在案例1中,您也会看到该行显示在那里。您使用的是什么版本?我使用的是R2017B。我猜该行太小,看不见。你为什么要画这么短的线我的意思是轴标度的小w.r.t。y轴如果在缩放采样值时未缩放分布,则仅x轴为y轴。高度无关紧要。它的中心应该是零。我不明白为什么它没有显示。请尝试使用
行([0 0],[0 1])
在案例1中,您也会看到该行显示在那里。谢谢。如果我将你的代码添加到我的代码中,现在是另一个未显示的绘图。有没有办法让他们两个都出现?叹气@用户3285148:你需要把你的线路加长,然后你就能在那个图上看到它。想想你为什么把这条线画得这么短,你对图中y轴的比例有什么期望,实际的比例是多少,然后试着理解你的期望为什么与现实不符。这并不复杂,谢谢。如果我将你的代码添加到我的代码中,现在是另一个未显示的绘图。有没有办法让他们两个都出现?叹气@用户3285148:你需要把你的线路加长,然后你就能在那个图上看到它。想想你为什么把这条线画得这么短,你对图中y轴的比例有什么期望,实际的比例是多少,然后试着理解你的期望为什么与现实不符。这并不复杂。