C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: ChartでLogスケール


(過去ログ 165 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■95151 / inTopicNo.1)  ChartでLogスケール
  
□投稿者/ raida (1回)-(2020/06/25(Thu) 17:38:27)

分類:[.NET 全般] 

VB.NETでLogスケールのChartを扱いたいのですが、

線形スケールの場合には、


Chart1_PostPaint

で


            With .AxisY

                    Dim hhh = .PixelPositionToValue(.ValueToPixelPosition(.Maximum))
                    Dim ggg = .Maximum

                End If

            End With


上記のコードのhhhとgggの値が一致します。

一方で、Logスケールにすると

hhhとgggが一致しなくなります。
10 ^ hhh
にしないとgggを得ることができません。


線形と同様に直接的にPixelPositionをValueに変換できる方法があれば教えてください。

あと、

Logスケールで
.Maximumを取得すると、
グラフは1〜1000
のようになっていても
実際のMaximumの値は563のようなグラフのデータが反映されてしまいます。

どうすれば、実際のグラフの最大値を取得することができますか?

引用返信 編集キー/
■95155 / inTopicNo.2)  Re[1]: ChartでLogスケール
□投稿者/ Hongliang (1052回)-(2020/06/25(Thu) 21:33:17)
> 線形と同様に直接的にPixelPositionをValueに変換できる方法があれば教えてください。

特になさそうですね。
必要であれば拡張メソッドで補うくらいでしょうか。
汎用性を考えるなら、べき乗の底は.LogarithmBaseを使うべきでしょう。

> Logスケールで
> .Maximumを取得すると、
> グラフは1〜1000
> のようになっていても
> 実際のMaximumの値は563のようなグラフのデータが反映されてしまいます。
>
> どうすれば、実際のグラフの最大値を取得することができますか?

.LogarithmBase ^ .ScaleView.ViewMaximum
かな。
引用返信 編集キー/
■95180 / inTopicNo.3)  Re[2]: ChartでLogスケール
□投稿者/ raida (2回)-(2020/06/29(Mon) 13:32:12)
うまくいきました
どうもありがとうございます。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -