Matlab: трехмерный график по указанным осям - PullRequest
1 голос
/ 03 марта 2011

Hallo SOers: После поиска некоторое время ответ на мой вопрос все равно появляется:
У меня есть файл данных, такой как:

x  y     z
10 100   30
10 500   90
10 600   200
30 200   30
90 120   300
90 130   30
90 200   60

В Matlab я хочу построить z над(х, у), которые не являются непрерывными точками.Точка сюжета должна быть полосой.Но plot3 (), по-видимому, не поддерживает 3d-гистограмму,
и bar3 () не позволяют мне указывать мой (x, y) столбец.

Так как получить такой разреженный гистограмм?

Большое спасибо!

1 Ответ

3 голосов
/ 03 марта 2011

Вы можете поместить значения в матрицу, где каждый элемент представляет столбец. Вы устанавливаете свои элементы в значение, а все остальные элементы в ноль.

>> x = x./10    %I scaled the x and y values down by factor of 10


x =

     1     1     1     3     9     9     9

>> y = y./10

y =

    10    50    60    20    12    13    20


>> A = zeros(max(x),max(y));       %create Matrix of size 9x20
>> for i = 1:length(x)
A(x(i),y(i)) = z(i);               %populate the Matrix
end
>> bar3(A)
>> 

Я уверен, что вы можете сделать сюжет лучше, изменив некоторые параметры, но это будет вывод.

This would be the output.

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