如何在pcolor图中使用单元格数组作为轴刻度线?

时间:2016-02-03 14:06:57

标签: matlab plot

我正在尝试使用pcolor来绘制热图,但是x轴刻度只是增加标记每个数据点的整数。

有没有一种方法可以绘制,以便其中一个轴使用单元格数作为其刻度?

例如,目前我的数据如下:

x = [1, 2, 3]
y = {'a', 'b', 'c'}
z = [4, 2, 6; 5, 3, 1; 6, 4, 5]

然后pcolor(x,y,z)会抛出错误,说数据输入必须是真实的。

pcolor(z)可以使用,但勾选两个轴1 2 3

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

xyz应该包含您的数据,而不是刻度标签。您可以通过设置轴的XTickLabel和/或YTickLabel属性来更改任何绘图的刻度标签:

x = 1:3;
y = 1:3;
z = rand(3);
pcolor(x,y,z);
set(gca,'XTick',1:3);
set(gca,'XTickLabel',{'a','b','c'});

结果:

Plot result