質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio 2010

Microsoft Visual Studio 2010はMicrosoftが提供している統合開発環境(IDE)です。

Q&A

解決済

1回答

10345閲覧

c# chartコントロールでDataPointが取得できない。

f_5_b_a

総合スコア16

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio 2010

Microsoft Visual Studio 2010はMicrosoftが提供している統合開発環境(IDE)です。

0グッド

0クリップ

投稿2016/05/06 02:36

###困っていること
c#でchartコントロールを使用して縦棒グラフを表示しています。
GetToolTipText()イベントを使用してマウスカーソルがグラフ上にあるときデータポイントの値を表示したいのですが、データポイントが取得できない場合があります。
下記画像で言うとAとBが取得できず、C以降は取得できます。
イメージ説明
値が小さくて取得できていないと思ったのですが、同じくらい値の小さいDなど(C以降は全て)は取得できます。
色々試したのですがCの様に、ある程度グラフが見えているX軸の項目以降は取得できるようです。
原因は何でしょうか?
ご教授お願いいたします。

###該当のソースコード
chartコントロールにはDataTableをバインドしています。

c#

1chart1.DataSource = dt; 2chart1.DataBind();

GetToolTipText()イベントではTypeを判別していますが、上図AとBはDataPointが見つかりません。

c#

1private void chart1_GetToolTipText(object sender, ToolTipEventArgs e) 2{ 3 if (e.HitTestResult.ChartElementType != ChartElementType.DataPoint) 4 return; 5 int index = e.HitTestResult.PointIndex; 6 DataPoint dp = e.HitTestResult.Series.Points[index]; 7 e.Text = string.Format("[{0}] {1} : {2:#,0}",dp.AxisLabel,dp.LegendText, dp.YValues[0]); 8}

###補足情報(言語/FW/ツール等のバージョンなど)
Windows7 32bit
Visual C# 2010
.Net Framework 4 Client Profile

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

解決のお手伝いになっていないかもしれませんが
chartcontrol DataPoint bug
とかでGoogle検索を行うと、同じような投稿があるようにも見えます。

私は10年前くらいですが….Netのバグを指摘しMSから「次のメジャーバージョンで修正する」と回答を貰った事があります。
最新版の挙動を試す意味で、VS2015+Win10+ターゲットを.Net4.6に引き上げてビルドをして、同じソースで挙動が同じかを検証されると良いかと思います。

後は、もう試されているかもしれませんが、X軸のデータの数が1つの場合、2つの場合、3つの場合と増やしていっていつその不可解な挙動が発生するか?の検証もされると良いかもしれません。

投稿2016/05/08 23:24

skltn00

総合スコア31

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

f_5_b_a

2016/05/10 00:23

skltn00さん、ありがとうございます。 Win10では試せていませんが、VS2015+.Net4.6でビルドを行い現象は直りませんでした。 X軸のデータ数を変更して試しましたが、やはり先頭データのグラフが見えないほど小さい値の場合に現象が起こります。 もう少し色々なパターンを試そうと思いますが、最悪はグラフが見えるようにY軸のレンジを変えるなどして対応したいと思います。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問