C# Charting: كيفية عدم رسم نقطة فارغة في مخطط المنطقة المكدسة

StackOverflow https://stackoverflow.com/questions/19850427

سؤال

كيف لا يمكنني رسم نقطة فارغة في مكتبة C# Charting؟ لا أريد أن يتم رسم النقطة الفارغة الأخيرة ذات القيمة 0 لـ 11/10 في المخطط ، ولكن على الرغم من وضعها كنقطة فارغة يتم رسمها بقيمة 0.

تحقق من الرسم البياني هنا.

enter image description here

هذا هو الرمز:

void Main()
{
    System.Windows.Forms.DataVisualization.Charting.Chart chart1 = new Chart();
    ChartArea chartArea1 = new ChartArea("foobar");
    chartArea1.Name = "ChartArea1";
    chart1.ChartAreas.Add(chartArea1);

    chart1.Name = "chart1";
    chart1.Palette = System.Windows.Forms.DataVisualization.Charting.ChartColorPalette.Fire;     
    Series series1 = new Series("seriesfoo")
     {
         XValueType = ChartValueType.Date,
        ChartArea = "ChartArea1",
        ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.StackedArea,
        Legend = "Legend1",
        Name = "MyGraph",
        IsXValueIndexed = true,
    };

     Series series2 = new Series("seriesbar")
     {
        XValueType = ChartValueType.Date,    
        ChartArea = "ChartArea1",
        ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line,
        Legend = "Legend1",
        Name = "Gap",
        IsXValueIndexed = true,
        YAxisType = System.Windows.Forms.DataVisualization.Charting.AxisType.Secondary,
        YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Double
     };

    chart1.Series.Add(series1);
    chart1.Series.Add(series2);
    chart1.Size = new System.Drawing.Size(797, 267);
    chart1.Text = "chart1";

    int[] dat = {20, 19, 10};
    for (int i = 0; i < dat.Length; i++ )
    {
        // Add X and Y values for a point. 
        chart1.Series[0].Points.AddXY(DateTime.Today.AddDays(i), dat[i]);
    }

    int[] dat2 = {20, 16, 12, 8, 4, 0};
    for (int i = 0; i < dat2.Length; i++ )
    {
        chart1.Series[1].Points.AddXY(DateTime.Today.AddDays(i), dat2[i]);
    }

    chart1.DataManipulator.InsertEmptyPoints(1, IntervalType.Days, "MyGraph, Gap");
    chart1.DataManipulator.IsEmptyPointIgnored  = true;
    MemoryStream stream = new MemoryStream(2048);
    chart1.SaveImage("C:\\temp\\chart.png", ChartImageFormat.Png);
}
هل كانت مفيدة؟

المحلول

لقد وجدت الجواب ، واضطررت إلى ضبط.

chart1.Series[0].EmptyPointStyle.Color = Color.Transparent;

أيضًا ، سأقوم بإزالة الخاصية أدناه من السلسلة ، كان هذا يتدخل مع النمط أعلاه وكان دائمًا يرسم النقطة على مرور على وضع لون نقطة فارغ.

BackGradientStyle = GradientStyle.TopBottom,
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top