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

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

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

Re[9]: Y軸の目盛りに表示されてる数量の取得


(過去ログ 136 を表示中)

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

■80094 / inTopicNo.1)  Y軸の目盛りに表示されてる数量の取得
  
□投稿者/ toshi (1回)-(2016/06/10(Fri) 21:18:07)

分類:[VB.NET/VB2005 以降] 

VB初心者です。
ChartのY軸に数量を設定し表示しています。
Y軸の目盛りに表示されてる最大の数量と最小の数量を取得したいのです。
グラフの最大数量と最小数量ではありません。
よろしくお願いします。

引用返信 編集キー/
■80096 / inTopicNo.2)  Re[1]: Y軸の目盛りに表示されてる数量の取得
□投稿者/ WebSurfer (937回)-(2016/06/11(Sat) 10:46:04)
No80094 (toshi さん) に返信

Chart のサンプルは持っているでしょうか?

持っているなら以下はスルーしてください。

持っていなければ MSDN のサイトからサンプルを入手できるので、ダウンロード
して動くように設定することをお勧めします。

解説が英語であるのを厭わなければこのサンプルは今後の開発に非常に有益なも
のになると思います。

このスレッドの質問者さんの問題がサンプルを見ると解決するかどうかは分かり
ませんが、解決のためのヒントはあるかもしれません(Chart Features の Axes
の Axis Scale とかに)。

解決できなくとも、今後の開発に役立つはずですので、ダウンロードして設定す
る手間をかけても損はないと思います。

サンプルの入手先や設定手順は以下の記事にありますので、興味があれば見てく
ださい。

Chart Samples
http://surferonwww.info/BlogEngine/post/2016/02/14/chart-samples.aspx
引用返信 編集キー/
■80097 / inTopicNo.3)  Re[2]: Y軸の目盛りに表示されてる数量の取得
□投稿者/ toshi (2回)-(2016/06/11(Sat) 23:20:44)
No80096 (WebSurfer さん) に返信

サンプルと言うか自作したものはあります。
解決方法を教えて頂ける方を待ちたいと思います。
よろしくお願いします。


引用返信 編集キー/
■80098 / inTopicNo.4)  Re[3]: Y軸の目盛りに表示されてる数量の取得
□投稿者/ Jitta (199回)-(2016/06/11(Sat) 23:30:15)
No80097 (toshi さん) に返信

chartとは、何のことでしょうか。
使用しているものがわからなければ答えようがありません。
引用返信 編集キー/
■80099 / inTopicNo.5)  Re[4]: Y軸の目盛りに表示されてる数量の取得
□投稿者/ toshi (3回)-(2016/06/12(Sun) 00:01:38)
No80098 (Jitta さん) に返信
> ■No80097 (toshi さん) に返信
>
> chartとは、何のことでしょうか。
> 使用しているものがわからなければ答えようがありません。

VB2010で描いたChartで例えば
http://www.gigasoft.com/images/vbformb.png
のようなものです。

この場合ですと最大数値が170、最小数値が70となってますがその数値を取得したいのです。
よろしくお願いします。

引用返信 編集キー/
■80100 / inTopicNo.6)  Re[3]: Y軸の目盛りに表示されてる数量の取得
□投稿者/ WebSurfer (938回)-(2016/06/12(Sun) 01:23:01)
No80097 (toshi さん) に返信

以前やり取りしたことがあります?

Chart サンプルを紹介したけどソースが C# だから動かすことでできなかった
というやり取りとした記憶がありますけど、その時と同じ質問者さんでしょう
か?

何回かのやり取りで、回等を待っている間にも自助努力でいろいろやってみて
はとアドバイスしたけど、結局その時も、

> 解決方法を教えて頂ける方を待ちたいと思います。

という話になったということがありましたけど、その時と同じ質問者さんでし
ょうか?
引用返信 編集キー/
■80101 / inTopicNo.7)  Re[4]: Y軸の目盛りに表示されてる数量の取得
□投稿者/ daive (117回)-(2016/06/12(Sun) 06:58:21)
2016/06/12(Sun) 07:00:11 編集(投稿者)

素朴な疑問
>VB2010で描いたChartで例えば
>http://www.gigasoft.com/images/vbformb.png
>のようなものです。
は、Y軸の最大値が、表記されていないグラフですよね?
少なくとも、例示のグラフのY軸最大値は、170ではなく、180になるはずです。
もしかして、自動スケールでグラフを描いていますか?
で、自動スケールでグラフを描いているのであれば、
何の為に、Y軸最大値を取得したいのですか?

引用返信 編集キー/
■80102 / inTopicNo.8)  Re[5]: Y軸の目盛りに表示されてる数量の取得
□投稿者/ toshi (4回)-(2016/06/12(Sun) 15:30:31)
No80101 (daive さん) に返信

はい、Y軸最大値は、170ではなく、180になるはずです。
Y軸最大値を取得したいのは他のチャートとの位置的な整合性を持たせるためにです。
今現在は自動スケールで描いていますが取得は難しいようですね。
仮に最大値の目盛りを設定したとしても取得はしたいのですが。

>
> 素朴な疑問
> >VB2010で描いたChartで例えば
> >http://www.gigasoft.com/images/vbformb.png
> >のようなものです。
> は、Y軸の最大値が、表記されていないグラフですよね?
> 少なくとも、例示のグラフのY軸最大値は、170ではなく、180になるはずです。
> もしかして、自動スケールでグラフを描いていますか?
> で、自動スケールでグラフを描いているのであれば、
> 何の為に、Y軸最大値を取得したいのですか?
>
引用返信 編集キー/
■80106 / inTopicNo.9)  Re[6]: Y軸の目盛りに表示されてる数量の取得
□投稿者/ shu (885回)-(2016/06/13(Mon) 11:41:03)
No80102 (toshi さん) に返信

以下のようにするとymaxにy座標の最大値が入ります。
Updateをするのがよいようです。

        Dim tbl As New DataTable()
        With tbl.Columns
            .Add("x", GetType(Integer))
            .Add("y", GetType(Integer))
        End With
        tbl.Rows.Add(1, 100)
        tbl.Rows.Add(2, 150)
        tbl.Rows.Add(3, 78)
        tbl.Rows.Add(4, 172)

        Chart1.DataSource = tbl
        Dim sr = Chart1.Series(0)
        sr.ChartType = DataVisualization.Charting.SeriesChartType.Line
        sr.XValueMember = "x"
        sr.YValueMembers = "y"

        Chart1.Update()
        With Chart1.ChartAreas(sr.ChartArea)
            Dim ymax = .AxisY.Maximum
        End With

引用返信 編集キー/
■80116 / inTopicNo.10)  Re[7]: Y軸の目盛りに表示されてる数量の取得
□投稿者/ toshi (5回)-(2016/06/13(Mon) 15:57:59)
No80106 (shu さん) に返信

わたしの使い方が間違ってるのでしょうが、
何故かymaxには上記例の170ではなく180が入ってしまいました。

取敢えずは自動スケールをやめ最大値を設定し描くことにします。
有り難うございました。

解決済み
引用返信 編集キー/
■80117 / inTopicNo.11)  Re[8]: Y軸の目盛りに表示されてる数量の取得
□投稿者/ shu (886回)-(2016/06/14(Tue) 10:40:06)
No80116 (toshi さん) に返信

勘違いをしてました。
最小値が0でないのとY軸の目盛線が一番上までひかれていないのと
目盛線の間隔が違っているのに気づきませんでした。

        Chart1.Update()
        With Chart1.ChartAreas(sr.ChartArea)
            Dim ymin = .AxisY.Minimum

            Dim ymax = .AxisY.Maximum
            Dim yint = .AxisY.MajorGrid.Interval
            ymax = ymin + Math.Floor((ymax - ymin) / yint) * yint
        End With

引用返信 編集キー/
■80118 / inTopicNo.12)  Re[9]: Y軸の目盛りに表示されてる数量の取得
□投稿者/ toshi (6回)-(2016/06/14(Tue) 11:54:55)
No80117 (shu さん) に返信

もしかして
Dim yint = .AxisY.Interval
でしょうか?

有り難うございます。
取得できました。


> ■No80116 (toshi さん) に返信
> 
> 勘違いをしてました。
> 最小値が0でないのとY軸の目盛線が一番上までひかれていないのと
> 目盛線の間隔が違っているのに気づきませんでした。
> 
>         Chart1.Update()
>         With Chart1.ChartAreas(sr.ChartArea)
>             Dim ymin = .AxisY.Minimum
> 
>             Dim ymax = .AxisY.Maximum
>             Dim yint = .AxisY.MajorGrid.Interval
>             ymax = ymin + Math.Floor((ymax - ymin) / yint) * yint
>         End With
> 

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


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

このトピックに書きこむ

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

管理者用

- Child Tree -