1

aChartEngine を使用してドーナツ チャート内にクリック可能な領域を配置したいのですが、これはまだ実装されていない機能です。これを実装する方法があると思うので、必要な部分を計画しています。よくわからないのは、チャートの中央にある穴のサイズを取得する方法です。具体的には、その領域でのクリックを無視するには、内側の半径を知る必要があります。これがどのように決定されるか誰かが知っていますか?ソースコードの一部を調べてみましたが、必要なものを見つけることができませんでした。さらに情報を追加できるかどうか教えてください。

4

1 に答える 1

1

https://code.google.com/p/achartengine/source/browse/trunk/achartengine/src/org/achartengine/chart/DoughnutChart.javaからリバース エンジニアリングできます。

基本的に、内側の円の半径は次のように計算できます。

int shortestSide = Math.min(Math.abs(right - left), Math.abs(bottom - top));
int originalRadius = (int) (0.35 * shortestSide);
int finalRadius = (int) (originalRadius - (0.2 * shortestSide + 1 * numCategories));

最終半径は内側の円の半径です。少なくともそれは私にとってはうまくいきます。

于 2013-07-03T22:40:12.833 に答える