tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^3: mschart vtchcharttype2dxy
投稿日: 2013/02/28(Thu) 12:52
投稿者VBレスキュー(花ちゃん)
ひょっとして、中国の方でしょうか?
それなら、今回はということで。
但し、当サイトをご利用になるのなら下記を読んでおいて下さい。

 http://hanatyan.sakura.ne.jp/hazimeni.htm#keijiban

質問の件ですが、リンクの画像のように表示されたらいいのであれば。

本来は、イレギュラーのあるようなデータは使用する前にチェックしておき
そのデータを訂正するなり、削除するなりすべきですが(統計上も問題になるはず)
グラフの表示だけで、統計線等を表示するなど統計上のデータとして使用しないので
あれば、欠損しているデータを何らかのデータを入れる事で線がつながります。

例えば、今回のデータなら4番目のデータが欠損しているので、4番目のデータに
3,19 の位置にプロットするようにデータを入れれば、前後の平均値になり線が引けますが
マーカーを表示している場合は、マーカーも表示されるので、4番目のデータに
3番目のデータか5番目のデータにを入れれば、3番目の位置と5番目の位置がつながる
事になります。
従って、データをセットするところで、Null が入っているか調べ入っていれば
そのデータを前のデータに置き換えればつながって表示されるようになります。

但し、最初と最後のデータに、Null が入っている場合は、どこにつなぐのかで
データを入れる値を決めて下さい。

コード的には下記のようになるかと思います。(仕様によりもう一工夫必要かも)
( Dat のところは、 MyData に置き換えて下さい。)

   'データチェック
   Dim i As Long
   For i = 0 To 4
      If IsNull(Dat(i, 0)) Or IsNull(Dat(i, 1)) Then
         '最初と最後に含まれていた場合どのようにするかで変更を
         If i = 0 Then
            Dat(i, 0) = Dat(i + 1, 0)
            Dat(i, 1) = Dat(i + 1, 1)
         Else
            Dat(i, 0) = Dat(i - 1, 0)
            Dat(i, 1) = Dat(i - 1, 1)
         End If
      End If
   Next i
  MSChart1.ChartData = Dat()

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。