построение 3D-бара в Matlab - PullRequest
3 голосов
/ 30 марта 2011

У меня есть матрица Nx3 в Matlab, и я хотел бы сделать из нее трехмерную гистограмму, где оси X и Y определяются значениями первого и второго столбцов матрицы, высотой каждогоbar является третьим столбцом в матрице, а количество баров определяется как N.

Другими словами, если «data» является матрицей, то:

data(:, 1) % values of X-axis
data(:, 2) % values of Y-axis
data(:, 3) % values of each Z-axis bar

и должно бытьбыть один столбец для каждого 1: длина (данные)

Как я могу сделать это в MATLAB?

Во-вторых, как вариант этого, как я могу сделать то же самое, но на этот раз гистограмма столбцов в N бинов в каждом измерении X, Y, Z?Т.е. вместо столбца для каждой точки просто гистограммируйте данные в эти ячейки в каждом измерении и постройте столбец для каждого ячейки.

большое спасибо за вашу помощь.

1 Ответ

0 голосов
/ 30 марта 2011

Относительно вашего первого вопроса вы можете достичь чего-то похожего на ваш запрос:

stem3 (data(:,1), data(:,2), data(:,3), 'marker', 'none', 'linewidth',10)

Не совсем бары, но производит похожий эффект.

Для построения «настоящих» баров (таких как bar3), я думаю, вам придется использовать низкоуровневую графическую функцию, такую ​​как surface (которая используется bar3 для построения баров) .

Что касается вашего 2-го вопроса, я не уверен, что понимаю - если вы вычисляете гистограмму для каждого измерения, вы в конечном итоге получаете 4-мерные данные - местоположение ячейки для каждого измерения + сам счет исторических данных. Что именно вы хотите построить?

...