tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルChartに任意の文字列を表示
記事No10972
投稿日: 2012/12/01(Sat) 18:36
投稿者そら
すみません、VB2010を始めたばかりの超初心者です。

下記のサンプルでは凡例の位置に、
ブルーの棒と任意の文字列(ABCD)が表示されますがブルーの棒は要りません。
任意の文字列のみを表示したいのです。
しかも複数行です。
更には、Chartをクリップボードにコピーした時には、
この任意の文字列も含まれるようにしたいのです。
どのような方法でも構いません、よろしくお願いします。

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, _
                           ByVal e As System.EventArgs) Handles MyBase.Load
        Dim dt As New DataTable
        '列の作成
        With dt.Columns
            .Add("日付", GetType(String))
            .Add("指数", GetType(Integer))
        End With
        'データの追加
        dt.Rows.Add("12/01", 40)
        dt.Rows.Add("12/02", 60)
        dt.Rows.Add("12/03", 30)
        '初期化    
        Chart1.Series.Clear()
        'グラフの種類,系列,軸の設定
        Dim rosoku = Chart1.Series.Add("棒グラフ")
        With rosoku
            .ChartType = DataVisualization.Charting.SeriesChartType.Column
            .XValueMember = "日付"
            .YValueMembers = "指数"
        End With
        Chart1.DataSource = dt
        Chart1.DataBind()
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, _
                              ByVal e As System.EventArgs) Handles Button1.Click
        Chart1.Series(0).LegendText = "ABCD"
    End Sub
End Class

[ツリー表示へ]
タイトルRe: Chartに任意の文字列を表示
記事No10973
投稿日: 2012/12/02(Sun) 09:14
投稿者VBレスキュー(花ちゃん)
いつも言っている事ですが、コントロールに含まれていない機能を求めるのなら自分で描画
するしかありません。
しかもこう言った独自(殆どの人が描画しようとしない事)の描画をしたいと行った事は、際限が
ない場合がほとんどです。(これができたら、次はこうしたいと行ったように)

それに複数行と言っても2行〜数十行まで色々あります、表示しきれない場合はどうするのかとか
Chart1.Series(0).LegendText = "ABCD" & vbCrLf & "EFGH" で一応改行表示する事は可能ですが
vbCrLf で改行するのではなくて、自動(WordWrap)で改行したいとなると?。

文字は複数行に書けても凡例の色の部分だけを消すことはできないかと?。
あるいは、Y軸の Title を使って描画できるかも知れません(試してはいませんし、要望に沿って
いるのかどうかも)

どうしても思い通りの事がしたいなら、PictureBox にでも転記して後は、そこでご自分の好きな
ように追加描画する事になるかと思います。(又は独自にグラフを描画する)

http://www.hanatyan.sakura.ne.jp/samplepic/vb8-371-1.png
http://www.hanatyan.sakura.ne.jp/samplepic/vb9_387.htm

[ツリー表示へ]
タイトルRe^2: Chartに任意の文字列を表示
記事No10975
投稿日: 2012/12/02(Sun) 18:14
投稿者そら
花ちゃんさん、ありがとうございます。

そうですね、あれこれ調べてからの質問ですが、
独自なことにまで対応をしていたら切がないのかもしれませんね。
でも、出来る出来ないが分かるだけでも嬉しいのです。

vbCrLf は試みましたが、消せないようですが凡例の色の部分(ブルーの棒)のことがあって、
他の方法があるのでは? と思ったのです。

PictureBox 、とりあえずこれにチャレンジしてみます。

このような超初心者でもよかったらまた教えてくさい。
ありがとうございました。

[ツリー表示へ]