【问题标题】:How to prevent colorbar overlapping in the right y axis (matlab)如何防止颜色条在右 y 轴上重叠(matlab)
【发布时间】:2014-02-19 11:10:17
【问题描述】:

首先,我是 matlab 新手。

我有一个有两个 y 轴的分散图形。

我想在图的东侧使用颜色条,但是,颜色条在右侧 y 轴和标签上重叠。

FigHandle = figure('Position', [1, 1, 1200, 1200]);
h1 = scatter(x,y1,30,z);![enter image description here][1]
ax1 = gca;
grid on
hold(ax1, 'all');
ax2 = axes('Position',get(ax1,'Position'),...
           'XAxisLocation','top',...
           'YAxisLocation','right',...
           'Color','none',...
           'XColor','k','YColor','k', 'fontsize',20);
hold(ax2, 'all');
h2 = scatter(x,y2,30,z,'Parent',ax2); 
t = colorbar('peer',gca);
colorbar('location','eastoutside')

1) 我试图减小绘图屏幕的宽度(不是图),以便我可以为颜色条留出一些空间,但它不起作用。

2)我尝试增加所有图形屏幕的宽度,但情节屏幕也增加了,所以没有任何变化。

我尝试了几个位置调整代码,但我无法弄清楚这个概念。

综上所述,我想找到一种方法来减小绘图屏幕的宽度,以便有足够的空间放置颜色条。

非常感谢。

【问题讨论】:

  • 运行你的代码我得到Undefined function or variable 'x'.你能把你的例子变成一个工作例子吗?

标签: matlab colorbar


【解决方案1】:

您可以尝试使用axis([XMIN XMAX YMIN YMAX])xlim([XMIN XMAX]) 手动调整X 轴的长度,然后展开XMAX 直到重叠消失。

否则这里有一些代码可以做你想做的事情:

currentLimit=get(gca,'Xlim') %Get the X limit from your current (gca) axis

set(gca, 'XLim', [CurrentLimit(1),CurrentLimit(2)+0.1*CurrentLimit(2)]) %Set a new Xlimit for the current axis

希望有效!

【讨论】:

    猜你喜欢
    • 2017-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-11
    • 2020-01-05
    • 2021-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多