MATLAB: цветовая гамма с пробплотом - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть два 1D вектора одинаковой длины, data и my_parameter.Я использую probplot, чтобы увидеть график вероятности для данных, следующим образом:

h = probplot(gca, data);
%  in next line, want color based on my_parameter, not static color as used.
set(h, 'color', [0.5 0.5 0.5]);
set(h, 'marker', '.');

Я хотел бы закрасить my_parameter, цель состоит в том, чтобы увидеть, отбрасывают ли определенные значения my_parameterнормальность распределения.Можно ли использовать цветовую шкалу, например, parula в сочетании с функцией пробплота?

Я пытался:

  • Замена [0.5 0.5 0.5] на 'parula'.
  • Замена [0.5 0.5 0.5] на parula.
  • Замена [0.5 0.5 0.5] трехстрочной двойной матрицей из m строк, где каждая строка имеет значения rgb, которые parula будет отображать my_parameter в.(Таким образом, m - это длина my_parameter.)
  • Избавление от линии set(h, 'color', [0.5 0.5 0.5]); и добавление линии colormap(parula); ниже установленных строк.

Если естьэто не способ сделать это, используя функцию probplot напрямую из-за того, как она написана (например, если она написана для приема только трехэлементных векторов), я думаю, мне придется попытаться переписать мою собственную версию probplot с использованием одной из scatter функций.Я мог бы покопаться и выяснить это, но прежде чем я начну это делать, кто-нибудь может указать мне ресурс, где это уже сделано?

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 24 марта 2019

Попробуйте это:

x=rand(1,15); % dummy data to plot
probplot(x)
h = probplot(gca,x);
c = parula(10);

% this changes the color of the 'x' marks to be the first row of the parula matrix
h(1).Color = c(1,:); 

% this changes the color of the dashed line to be the 9th row of the parula matrix
h(2).Color = c(9,:)

Вышесказанное производит это: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...