gpt4 book ai didi

matlab - 轴标签是不可见的?

转载 作者:行者123 更新时间:2023-12-02 03:30:20 25 4
gpt4 key购买 nike

我有以下代码:

figure(1);
suptitle('Percentage of games won with board size');
count = 0;
% relation of board size and the game outcome
for i = 1:4 % number combination of player and opponent
for j = 1:4 % starting indexes for board sizes
percentageStepResult = [sum(sizeResultVec{i}(j:4:120) == 1), sum(sizeResultVec{i}(j:4:120) == -1), sum(sizeResultVec{i}(j:4:120) == 0)];
count = count + 1;
handle = subplot(4, 4, count);
xlabel('x axis');
ylabel('y axis');
pie(percentageStepResult)
end
end

生成以下图:

enter image description here

为什么这根本不显示标签?我正在尝试为整个图使用一个 xlabel 和一个 ylabel,但我很困惑为什么它们甚至不显示单个子图。

最佳答案

XY 轴的概念对我来说对于饼图 图表来说意义不大,可能对于Mathworks 也是,所以他们决定“隐藏”这些无意义的标签。

标签未显示,因为饼图下方的每个轴都将其 visible 属性设置为 'off'。这隐藏了关于斧头的一切(即刻度线、网格线、背景颜色等...)。

如果它们对您而言并非毫无意义并且您确实希望显示标签,则必须将轴 visible 属性设置为 'on'。以下代码的灵感来自您的示例,并向您展示了如何操作。

此方法的问题是您必须手动“隐藏”您不想看到的所有其他内容。这就是为什么我隐藏了刻度线、背景和网格线,但斧头边框将保留。

count = 0 ;
hdl = zeros(4,4) ;
for i = 1:4 %// number combination of player and opponent
for j = 1:4 %// starting indexes for board sizes
percentageStepResult = rand(4,1) ;
count = count + 1 ;
hdl(i,j) = subplot(4, 4, count) ;
pie(percentageStepResult)
set( hdl(i,j) , 'Visible','on' ) %// set the underlying axes to visible
set( hdl(i,j) , 'Color','none' ) %// set the axes background color to nothing (transparent)
set( hdl(i,j) , 'XTick',[] , 'YTick',[] ) %// remove the 'X' and 'Y' ticks
grid off %// make sure there is no grid lines
xlabel('x axis');
ylabel('y axis');
end
end

请注意,我还将保存句柄 的变量更改为轴。调用 handle 不是一个好主意,因为它是 Matlab 内置函数的名称。我还将这些句柄放在一个数组中,以便您以后可以根据需要设置轴属性。

另请注意,您可以将对 set( hdl(i,j) , ... ) 的所有调用组合到一行中,为了清楚起见,我只在此处开发它。

编辑:看this questions的答案如果您还想隐藏轴边框(X0 和 Y0 线)。


这向您展示了如何强制显示每个斧头标签,但实际上它非常困惑。相反,我建议只创建 text 对象并弄清楚如何将它们放置在每个饼图附近。至少您不必手动管理其他所有内容的可见性。

关于matlab - 轴标签是不可见的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27255647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com