none
chart 複製 RRS feed

  • 問題

  • chart 內有資料

    握要全部複製到 另一個 chart  內

    但是 不能 chart1=chart2 請問要如何寫

    2017年5月25日 上午 09:32

解答

  • Chart chart1 = new Chart();
    //Enter your chart building code here
    ...
    ...
    ...
    
    
    System.IO.MemoryStream myStream = new System.IO.MemoryStream();
    Chart chart2 = new Chart();
    chart1.Serializer.Save(myStream);
    chart2.Serializer.Load(myStream);


    大家一齊探討、學習和研究,謝謝!
    MCSD, MCAD, MCSE+I, MCDBA, MCDST, MCSA, MCTS, MCITP, MCPD,
    MCT, Microsoft Community Star(TW & HK),
    Microsoft MVP for VB.NET since 2003
    My MSMVP Blog

    請記得將對您有幫助的回覆 標示為解答 以幫助其他尋找解答及參與社群討論的朋友們。
    Please remember to click Mark as Answer on the post that helps you. This can be beneficial to other community members reading the thread.

    2017年5月26日 上午 03:40
  • 如果您是要複製Legends, 這是一個集合, 可以寫迴圈複製集合中所有的內容到另外一個Chart控制項
    2017年5月30日 上午 02:18

所有回覆

  • 做法1:將Chart1使用的資料來源拿給Chart2使用

    做法2:將Chart1直接輸出給Chart2, 請參考:How can I clone microsoft chart control?

    2017年5月26日 上午 12:49
  • Chart chart1 = new Chart();
    //Enter your chart building code here
    ...
    ...
    ...
    
    
    System.IO.MemoryStream myStream = new System.IO.MemoryStream();
    Chart chart2 = new Chart();
    chart1.Serializer.Save(myStream);
    chart2.Serializer.Load(myStream);


    大家一齊探討、學習和研究,謝謝!
    MCSD, MCAD, MCSE+I, MCDBA, MCDST, MCSA, MCTS, MCITP, MCPD,
    MCT, Microsoft Community Star(TW & HK),
    Microsoft MVP for VB.NET since 2003
    My MSMVP Blog

    請記得將對您有幫助的回覆 標示為解答 以幫助其他尋找解答及參與社群討論的朋友們。
    Please remember to click Mark as Answer on the post that helps you. This can be beneficial to other community members reading the thread.

    2017年5月26日 上午 03:40
  • 我所需要的是把

    dim MyChart1  As New DataVisualization.Charting.Chart

    ......

    ......

    ......

    Me.Chart1 = MyChart1

    全圖給 Form 的 Chart1 上顯示

    2017年5月27日 下午 01:17
  • 您可以參考連結中範例程式的做法
    2017年5月28日 下午 12:07
  • 是過了

    只有圖

    沒有右上角的標記圖

    2017年5月29日 上午 01:04
  • 如果您是要複製Legends, 這是一個集合, 可以寫迴圈複製集合中所有的內容到另外一個Chart控制項
    2017年5月30日 上午 02:18
  • 只能複製畫好的圖 右上角的標記圖不能一起嗎?
    2017年5月30日 上午 11:49
  • 如果您是要複製Legends, 這是一個集合, 可以寫迴圈複製集合中所有的內容到另外一個Chart控制項

    如果要回圈要怎麼用

    2017年6月9日 上午 12:37
  • 個人認為你應該是要把你的需求先講清楚再來討論程式化邏輯。比如說是想要用相同樣式畫每張圖或其他,而不是先說你的程式邏輯,問如何實作。

    先是 chart 複製,後為圖例,圖例複製到其他圖沒有意義。


    T.L. Cheng

    2017年6月17日 上午 07:54
    版主
  • 個人認為你應該是要把你的需求先講清楚再來討論程式化邏輯。比如說是想要用相同樣式畫每張圖或其他,而不是先說你的程式邏輯,問如何實作。

    先是 chart 複製,後為圖例,圖例複製到其他圖沒有意義。


    T.L. Cheng

    如果以折線圖為例:他只有圖形及折線,沒有標明他是哪種條折線,沒有上面得標記事沒有人知道的,用之前的

    Chart chart1 = new Chart();
    //Enter your chart building code here
    ...
    ...
    ...
    
    
    System.IO.MemoryStream myStream = new System.IO.MemoryStream();
    Chart chart2 = new Chart();
    chart1.Serializer.Save(myStream);
    chart2.Serializer.Load(myStream);

    就會沒有右上角的的標記,只有他所畫出的圖,這樣就不是一個完整的折線圖。

    那要如何解決????


    2017年6月19日 上午 02:13
  • 你如果是圖例沒出來,應該是操作 Chart 屬性檢查圖例是否顯示,然後把它顯示出來吧?怎麼會考慮從其他 chart 拷貝?

    不懂你的需求與邏輯。


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2017年6月19日 下午 05:10
  • 你如果是圖例沒出來,應該是操作 Chart 屬性檢查圖例是否顯示,然後把它顯示出來吧?怎麼會考慮從其他 chart 拷貝?

    不懂你的需求與邏輯。


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    這是原圖

    但是用

    Chart chart1 = new Chart();
    //Enter your chart building code here
    ...
    ...
    ...
    
    
    System.IO.MemoryStream myStream = new System.IO.MemoryStream();
    Chart chart2 = new Chart();
    chart1.Serializer.Save(myStream);
    chart2.Serializer.Load(myStream);

    變成這樣

    要如何跟原圖一樣

    程式

    Dim MyChart1 As New DataVisualization.Charting.Chart
            Dim myStream As New System.IO.MemoryStream

            MyChart1.Titles.Add("XXX")

            MyChart1.ChartAreas.Add("XXX1")
            MyChart1.ChartAreas(0).AxisX.MajorGrid.LineWidth = 0 '網格線清除(X軸)
            MyChart1.ChartAreas(0).AxisY.MajorGrid.LineWidth = 0 '網格線清除(Y軸)

            MyChart1.Series.Add("AAA")
            MyChart1.Series("AAA").ChartType = DataVisualization.Charting.SeriesChartType.Line '圖型 折線圖
            MyChart1.Series("AAA").MarkerStyle = DataVisualization.Charting.MarkerStyle.Diamond '點的樣式 黑點
            MyChart1.Series("AAA").Points.AddY("2E3")
            MyChart1.Series("AAA").Points.AddY("4E3")
            MyChart1.Series("AAA").Points.AddY("5E3")
            MyChart1.Series("AAA").Points.AddY("6E3")
            MyChart1.Series("AAA").Points.AddY("8E3")

            MyChart1.Series.Add("1270")
            MyChart1.Series("1270").ChartType = DataVisualization.Charting.SeriesChartType.Line '圖型 折線圖
            MyChart1.Series("1270").MarkerStyle = DataVisualization.Charting.MarkerStyle.Diamond '點的樣式 黑點

            MyChart1.Series("1270").Points.AddY(6000)
            MyChart1.Series("1270").Points.AddY(5000)
            MyChart1.Series("1270").Points.AddY(4000)
            MyChart1.Series("1270").Points.AddY(6000)
            MyChart1.Series("1270").Points.AddY(5000)

            MyChart1.Serializer.Save(myStream)
            Me.Chart1.Serializer.Load(myStream)



    • 已編輯 qoo10223 2017年6月20日 上午 06:12
    2017年6月20日 上午 12:47