2024/03/03

パイチャート

未だ正式リリースされないLive Charts2なんですが、今回はパイチャートに挑戦してみました。Copilotに早速質問ぶつけましたがまともな回答ではなかったです😞 まともな回答って多少ズレたりしてもまあ動かせるなら良いのですが、もうダメダメでした。
データの準備は

var daySeries = new ISeries[9];
daySeries[0] = new PieSeries<long>
{
    Values = new long[] { tansho },
    Name = "単勝"
};
daySeries[1] = new PieSeries<long>
{
    Values = new long[] { fukusho },
    Name = "複勝"
};
daySeries[2] = new PieSeries<long>
{
    Values = new long[] { wakuren },
    Name = "枠連"
};
daySeries[3] = new PieSeries<long>
{
    Values = new long[] { umaren },
    Name = "馬連"
};
daySeries[4] = new PieSeries<long>
{
    Values = new long[] { wide },
    Name = "ワイド"
};
daySeries[5] = new PieSeries<long>
{
    Values = new long[] { umatan },
    Name = "馬単"
};
daySeries[6] = new PieSeries<long>
{
    Values = new long[] { sanrenfuku },
    Name = "三連複"
};
daySeries[7] = new PieSeries<long>
{
    Values = new long[] { sanrentan },
    Name = "三連単"
};
daySeries[8] = new PieSeries<long>
{
    Values = new long[] { winFive },
    Name = "WIN5"
};

以前書いてますが、今回も日本語フォントがそのままではうまく表示されませんので

SolidColorPaint lp = new SolidColorPaint();
lp.Color = SKColors.Blue;
lp.FontFamily = "MS ゴシック";
lp.SKFontStyle = new SKFontStyle(SKFontStyleWeight.Normal,SKFontStyleWidth.Normal,SKFontStyleSlant.Upright);
pcDay.TooltipTextPaint = lp;

更に凡例用に

pcDay.LegendTextPaint = lp;

で、コントロールにデータセットすれば

pcDay.Series = daySeries;

実行時には

っか感じに表示されます。更にマウスで

個々のツールチップも表示されるんですが、ご覧の様に凡例のテキストが消えます。この後マウスを外しても凡例のテキストは消えたままです。これがって事ではないと思いますが、未だベータなんだなぁっと😓 更に実はこのチャートのタイトルを表示したいとは思っているんですが、

pcDay.Name = selectedDateTime.ToString("yyyy/MM/dd");

としても何も出ないし、

pcDay.Title = selectedDateTime.ToString("yyyy/MM/dd");

は、そもそも自動キャストが出来ないって事でコンパイルすら通りません。もう少し学習が必要です。

追記 2024.3.4 12:07
Visual Studioのフォームのデザイン画面でPieChartコントロールのプロパティにTitleはあるんですが、入力出来ません。なのでプログラムから設定するステートメントがコンパイル通らないのも納得かも。

0 件のコメント:

コメントを投稿