我使用地图工具箱创建了一个等高线图,其中contourfm()
contourcbar()
和caxis()
标记了颜色条。将第二个轴添加到颜色条以使其看起来像这样的最佳方法是什么?
如果它有所作为,我在RHEL6上使用-nodesktop和-nodisplay运行Matlab v2014b。提前谢谢!
编辑1:我使用了Benoit_11的答案来提出一些示例代码来重现问题。等待创建绘图,然后重新调整图形窗口的大小。您会看到第二个颜色条轴(左侧)没有与图的其余部分正确缩放。任何建议来解决这个问题将非常感谢!
figure('Color','white')
worldmap('north america')
load topo
R = georasterref('RasterSize',[180 360], 'Latlim',[0 80],'Lonlim',[-160 -50]);
contourfm(topo, R, -7000:1000:3000)
caxis([-8000 4000])
hBar1 = contourcbar
contourcmap('jet')
caxis([1 10])
BarPos = get(hBar1,'position');
ylabel(hBar1,'Total electron content','FontSize',12);
haxes = axes('position',BarPos,'color','none','ytick',0:5:15,'ylim',[0
15],'xtick',[]);
ylabel('Approximate position error','FontSize',12)
答案 0 :(得分:1)
您可以使用与第一个颜色条相同的位置创建第二个轴,并将其ylabel
属性设置为您想要的标题,并将ytick
属性设置为您需要的属性。
虚拟例子:
%// Create colorbar
hBar1 = colorbar;
%// Set its ylabel property
ylabel(hBar1,'Total electron content','FontSize',12);
%// Get its position
BarPos = get(hBar1,'position');
%// Create an axes at the same position
haxes = axes('position',BarPos,'color','none','ytick',0:5:15,'ylim',[0
15],'xtick',[]);
%// Set its ylabel property
ylabel('Approximate position error','FontSize',12)
输出(裁剪):
您只需要确定颜色条的正确位置,使其不与包含图形的轴重叠。请注意,左下方的黑线来自空轴,因此在您的情况下它不会出现。
希望有所帮助!