2013-05-27 62 views
0

我想知道如何刪除圖像波紋管中顯示的股票圖上的3個水平紅線。請忽略它們無關的圖像上的點/方塊。我想我已經搜索了每一個谷歌頁面,並通過了asp.net有的每一個選項......並不知道它。任何幫助是極大的讚賞!生成此圖ASP.NET(C#)圖形

enter image description here

代碼:

Double[] test = new Double[] { 10, 50 }; 

    Chart1.Series[0].ChartType = SeriesChartType.Stock; 
    Chart1.Series[0].YAxisType = AxisType.Primary; 
    Chart1.Series[0].Color = Color.Red; 
    Chart1.Series[0].BorderWidth = 10; 
    Chart1.ChartAreas[0].AxisY.MajorGrid.Enabled = false; 
    Chart1.ChartAreas[0].AxisX.MajorGrid.Enabled = false; 
    Chart1.Series[0]["PixelPointWidth"] = "5"; 

    Chart1.Series.Add(new Series("Test Series")); 
    Chart1.Series[1].ChartType = SeriesChartType.Point; 
    Chart1.Series[1].YAxisType = AxisType.Primary; 
    Chart1.Series[1].Color = Color.Black; 
    Chart1.Series[1].BorderWidth = 3; 
    Chart1.Series[1].MarkerSize = 15; 

    Chart1.Series.Add(new Series("New Series")); 
    Chart1.Series[2].ChartType = SeriesChartType.Point; 
    Chart1.Series[2].YAxisType = AxisType.Primary; 
    Chart1.Series[2].Color = Color.Orange; 
    Chart1.Series[2].BorderWidth = 3; 
    Chart1.Series[2].MarkerSize = 15; 

    Chart1.Series[0].Points.Add(new Double[] {-10, 50}); 
    Chart1.Series[1].Points.Add(25); 
    Chart1.Series[2].Points.Add(20); 

    for (int i = 0; i < 2; i++) 
    { 
     Chart1.Series[0].Points.Add(test); 
     Chart1.Series[1].Points.Add(25); 
     Chart1.Series[2].Points.Add(20); 
    } 
+0

請顯示您的圖表代碼。 –

+0

好的,我添加了生成上面的圖片的代碼 – Bojan

+0

是的,我誤解了。請編輯您的問題並澄清您嘗試刪除紅色水平線。我會在幾個小時內再次審視這個問題,看看我能否貢獻任何有價值的東西。 –

回答

1

好吧,尋找到它着迷後,我認爲我有一個解決辦法。只需添加兩個Y值,圖表對於標記(高或低?)的默認值爲零。通過指定您將添加四個值(打開,關閉,高,低 - 不確定高/低順序),您可以通過使它們落入您的打開/關閉範圍內並將PixelPointWidth設置爲等於或小於你的BorderWidth。

// IMPORTANT: add the ", 4" to indicate that you have the four Y values 
Chart1.Series.Add(new Series("Stock", 4)); 
Chart1.Series["Stock"].ChartType = SeriesChartType.Stock; 
Chart1.Series["Stock"].YAxisType = AxisType.Primary; 
Chart1.Series["Stock"].Color = Color.Red; 
Chart1.Series["Stock"].BorderWidth = 10; 
Chart1.ChartAreas[0].AxisY.MajorGrid.Enabled = false; 
Chart1.ChartAreas[0].AxisX.MajorGrid.Enabled = false; 

// Set <= BorderWidth, so that it's effectively hidden 
Chart1.Series["Stock"]["PixelPointWidth"] = "10"; 
Chart1.Series["Stock"].Points.AddY(10, 50, 20, 30); // open, close, high, low. 

這有點難以追查。呼。

+0

所以基本上你使用border來隱藏高低? – Bojan

+1

是的。我找不到任何選項來刪除默認行,所以聲明高和低,然後隱藏它們似乎是最好的選擇。 –

+0

這是一個很好的解決方法。謝謝我會接受這個答案,因爲我找不到刪除該行的選項。 – Bojan