MZ Platformとは › 掲示板 › MZプラットフォームユーザー会掲示板 › 円グラフコンポーネントでの比率の取得
円グラフコンポーネントでは比率の表示有無ができますが、特定系列の比率を取得できるメソッドまたは方法はありませんか?
残念ながら、円グラフコンポーネントから比率を取得するメソッドはありません。円グラフのテーブルデータから別途計算する必要があります。
円グラフは2列のデータなので、第1列目(0からのため)の列データのリストを使います。リストは基本統計処理コンポーネントで和を計算でき、リストの各位置の要素に100をかけて和で割るとパーセンテージを計算できます。
ご不明な点があれば再度お問い合わせください。
ありがとうございます。
円グラフコンポーネントが表示する合計値と比率が、ご教授頂いた方法(手動計算でも同じ)での結果と若干合わない点が気になります。 円グラフコンポーネントの合計値は、小数点第一位を切り上げているようですが、系列側をどの様にして計算しても合いません。
実際の計算処理を確認したところ、少々複雑な計算をしていました。
基本は指定位置(初期値は小数点以下第一位)での四捨五入で比率を計算するのですが、そうすると比率の合計が100にならない場合があるため、合計を100にするような補正処理をしていました。
この補正処理を自前で計算するのは無理があるので、メソッドを追加しようと思います。追加メソッドの機能として、指定項目の比率を数値で取得するということでよろしいでしょうか。あと、リストでの取得も追加します。他にもご希望があればお知らせください。
さしあたって今、他に何かはありません。 ご検討いただきありがとうございます。
メソッド追加用のZIPファイルを添付します。ZIPファイルを展開すると、JARファイルがありますので、MZのインストールフォルダの下にあるjarsフォルダに配置してください。また、同じくetcフォルダにあるPlatformClassPath.iniをテキストエディタで開いて、先頭行にjars/mzpatch20200710.jarと記入して保存してください。
その後にビルダーを起動すると、円グラフに2つのメソッドが追加されます。特定の項目の割合を取る場合は「getPercentageAt(int)」、すべての割合のリストを取得する場合は「getPercentageList()」をご使用ください。ただし、これらのメソッドは一度割合の文字が描画された後でのみ機能します。
以上、お試しいただき、問題があればお知らせください。