Como definir os valores xey ao usar bar3 no Matlab?
Versão rápida
Como posso controlar os valores x e y para um gráfico de barras 3-d no Matlab?
Detalhes
Digamos que temos uma matriz de dados 10 x 20 e a plotamos usandobar3
, e queremos definir os valores x e y. Por exemplo:
foodat = rand(10,20);
xVals = [5:14];
yVals = [-3:16];
bar3(xVals, foodat);
xlabel('x'); ylabel('y');
Existe uma maneira de alimentar os yVals também? Caso contrário, os eixos y sempre assumem o padrão [1: N].
Note que eu não quero apenas mudar oetiquetas usandoXTickLabel
eYTickLabel
. Eu preciso mudar o realvalores nos eixos, porque estou traçando várias coisas na mesma figura. Não basta mudar como os marcadores do eixo (incorretos) são rotulados. Portanto, isso é diferente de questões como esta:
Como posso ajustar o agrupamento de barras 3D e a marcação do eixo y no MATLAB?
Outras coisas que eu tentei
Quando tento alterar os xvals com:
set(gca,'XTick', xVals)
set(gca,'YTick', yVals)
Os valores são recebidos, mas na verdade aparecem nos eixos errados, portanto parece que os eixos xey são trocados usando a barra3. Além disso, é tarde demais de qualquer maneira, já que o gráfico de barras já foi plotado com os valores x e y incorretos, portanto, acabamos atribuindo tiques a valores vazios.
Nota adicionada
O suporte técnico da Matlab acabou de me enviar um email para me informar sobre a função de contribuição do usuárioscatterbar3
, que faz o que eu quero, de uma maneira diferente da resposta aceita:
http://www.mathworks.com/matlabcentral/fileexchange/1420-scatterbar3