标签: matlab plot
我正在尝试使用pcolor来绘制热图,但是x轴刻度只是增加标记每个数据点的整数。
pcolor
有没有一种方法可以绘制,以便其中一个轴使用单元格数作为其刻度?
例如,目前我的数据如下:
x = [1, 2, 3] y = {'a', 'b', 'c'} z = [4, 2, 6; 5, 3, 1; 6, 4, 5]
然后pcolor(x,y,z)会抛出错误,说数据输入必须是真实的。
pcolor(x,y,z)
pcolor(z)可以使用,但勾选两个轴1 2 3
pcolor(z)
1 2 3
有什么想法吗?
答案 0 :(得分:4)
x,y和z应该包含您的数据,而不是刻度标签。您可以通过设置轴的XTickLabel和/或YTickLabel属性来更改任何绘图的刻度标签:
x
y
z
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'});
结果: