2016-06-28 67 views
0

我在我的项目中使用.NET框架中的Chart控件。我已将图表控件添加到表单并进行了如下配置。样条图光滑角落

// Add a new series. 
chart1.Series.Add("1"); 
var series = chart1.Series[0]; 
series.ChartType = SeriesChartType.Spline; 
// Hide the legend. 
series.IsVisibleInLegend = false; 

// configure x axis. 
var cArea = chart1.ChartAreas[0]; 
cArea.AxisX.IntervalType = DateTimeIntervalType.Number; 

cArea.AxisX.LabelStyle.Format = "00"; 
cArea.AxisY.LabelStyle.Format = "0.000"; 
cArea.AxisY.LabelStyle.IsEndLabelVisible = true; 

cArea.AxisX.Minimum = 0; 
cArea.AxisX.Maximum = 100; 
cArea.AxisX.Interval = 20; 

cArea.AxisY.Minimum = 0; 
cArea.AxisY.Maximum = 100; 
cArea.AxisX.Interval = 20; 

数据点值如下:

chart1.Series[0].Points.AddXY(0, 5); 
chart1.Series[0].Points.AddXY(5, 10); 
chart1.Series[0].Points.AddXY(10, 30); 
chart1.Series[0].Points.AddXY(20, 100); 
chart1.Series[0].Points.AddXY(30, 100); 
chart1.Series[0].Points.AddXY(40, 90); 
chart1.Series[0].Points.AddXY(50, 80); 

对于以上的数据点,系列并不顺利。上边缘被切断。请参阅附件图像。 enter image description here

如何使其平滑以使整条线可见?

+2

将Y轴最大的小双吨更高... – 2016-06-28 15:15:31

回答

2

这是不可见的因为平滑,适应规模(例如使用cArea.AxisX.Maximum = 150;)或删除平滑,使整个曲线可见。

1

如同DrawCurves GDI +方法可以控制花键的张力,即它们的点和它们的连接线和多少平滑他们创建如何接近。过多的“平滑”创造出幻想的上衣,并且即使在数据中出现小的颠簸也会产生疯狂的旋转。

通过LineTension自定义属性设置张力。

将其从默认值0.8降到更小。测试看看你喜欢什么。

这里是一个Series S一个例子:

S.SetCustomProperty("LineTension", "0.4"); 

请注意,你还是应该让y轴最大稍微大一点,否则你可能需要把张力下降到0,这看起来像线型..

这里有几个变化:

enter image description here

+0

我不知道LineTension属性。感谢那。实际上增加y轴的最大值对我来说是更好的解决方案。 – Rocky