Вертикальная линия на графике Matlab не отображается: проблема с масштабированием - PullRequest
0 голосов
/ 16 марта 2019

Я пытаюсь добавить вертикальную линию к графику в 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

СЛУЧАЙ 2: появляется строка

A=randn(1000,1);

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

Как сделать так, чтобы строка отображалась в случае 1?

1 Ответ

2 голосов
/ 16 марта 2019

Линия отображается в обоих случаях.В случае 2 оцените

ylim([0 10.1^(-14)])   % sets range of y axis to be [0 10.1^(-14)]

, который просто увеличит масштаб и покажет, что очень очень очень маленькая линия была нанесена на всем протяжении.Просто не виден, когда y-диапазон был [0, 0,45].

Это подтверждает комментарий @ CrisLuengo.


Ответ на комментарий ОП :
Если вы хотите, чтобы они оба появились, я предлагаю что-то вроде следующего:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...