2011-12-24 6 views
1

Я пытался выяснить, как «скрыть» бесполезную часть треугольной матрицы от моего 3D-графика в Matlab.Рисование сетки треугольной матрицы в Matlab

Я попытался нарисовать сетку чуть выше той части графа с

'EdgeAlpha', 1, 'FaceAlpha', 1,'FaceColor','w','EdgeColor','none' 

, но это не помогает. Как мне это сделать?

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

Это моя последняя надежда;) Барбара

+1

Вы на самом деле не дает нам достаточно информации, чтобы помочь вам. Какой код вы используете для построения вашей матрицы? У вас есть образец изображения того, как должен выглядеть результат? – gnovice

+0

После того, как я боролся с проблемой более трех недель, я понял это сам. Если вы назначаете значение NaN нежелательным частям матрицы, оно не будет отображаться на графике! Я хочу, чтобы это простое решение было задокументировано людьми MATLAB или доступно для поиска в Интернете ... –

ответ

1

Короткий ответ: заменить «бесполезные» данные со значением нан, поскольку MATLAB не печатает значения данных, которые нан.

Вставка значений nan в другую половину матрицы должна делать трюк. См. Пример ниже - он неуклюж, но должен дать идею. Я решил умножить нан, чего я достиг, как показано, но есть еще полдюжины других вещей, которые приходили на ум.

 
% Create random data for illustration 
data = tril(rand(50)); 

% I chose to divide by a lower triangular ones matrix (zeros above the 
% diagonal) to get nan above the diagonal and ones below 
nan_above_diag_ones_below = 1./tril(ones(50,50)); 

% Plot data with and without hiding the "useless part" 
figure, 
subplot(1,2,1), mesh(data), title('"useless" part shown') 
subplot(1,2,2), mesh(data.*nan_above_diag_ones_below), 
title('"useless" part hidden')

Plots showing "useless" part of diagonal matrix shown and hidden

+0

Спасибо, но, как вы видели, я чудесным образом придумал этот результат в декабре ... –

+0

Как-то я этого не видел. Вау! Он никогда не перестает шокировать меня, как я могу упускать из виду эти вещи. Возможно, я не ожидал ответа, так как я читал вопросы без ответов. @ Барбара, если вы ответите (вы можете даже скопировать мой, я его выдержу и возьму с собой). – sage

Смежные вопросы