我怎么能做一个饼图,这样我可以点击任何切片?

时间:2016-07-27 12:14:21

标签: matlab matlab-figure pie-chart

我不知道怎么做一个分成12块(切片)的圆圈,所以我可以点击其中一个。我想在matlab中这样做。我认为就像单选按钮,但我不知道如何制作我想要的形状。

它就像一个饼图(等分),我可以点击按钮上的切片。有什么想法吗?

1 个答案:

答案 0 :(得分:5)

pie的输出是构成饼图的补丁和文本标签的句柄数组。您可以设置修补程序对象的ButtonDownFcn以捕获鼠标单击。然后,您可以将单击的修补程序的句柄与您的修补程序数组进行比较,以确定单击哪个修补程序。

以下是一个例子:

handles = pie(1:5);
patches = findall(handles, 'type', 'patch');

set(patches, 'ButtonDownFcn', @(s,e)clickfunction(find(patches == s)))

function clickfunction(index)
    fprintf('Clicked piece: %d\n', index)
end

enter image description here