나는 대답을 찾았고 설정해야했다.
chart1.Series[0].EmptyPointStyle.Color = Color.Transparent;
또한 시리즈에서 아래 속성을 제거하기 위해 위의 스타일을 방해했으며 항상 빈 지점을 설정하는 데 영감을주는 포인트를 그렸습니다.
BackGradientStyle = GradientStyle.TopBottom,
문제
C# 차트 라이브러리에서 빈 지점을 어떻게 그리지 않겠습니까? 나는 11/10에 대한 0 값의 마지막 빈 점을 차트에 그려지는 것을 원하지 않지만, 빈 지점으로 설정하는 데 영감을주는 것은 0의 값으로 그려집니다.
여기에서 차트를 확인하십시오.
코드는 다음과 같습니다.
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,