我在previous question中询问如何为极坐标图设置特定数量的环和扇区。我现在有一个按钮,可将图表从极地更改为雷达。问题是段数从24(正确)更改为25(错误)。我不知道为什么。

设置响铃次数的代码:

#region chartdesign
Series s = chartleft.Series[0];            // a reference to the default series
ChartArea ca = chartleft.ChartAreas[0];  // a reference to the default chart area
Axis ax = ca.AxisX;
Axis ay = ca.AxisY;
s.ChartType = SeriesChartType.Polar;   // set the charttype of the series

s.Points.AddXY(0,0);
ax.Interval = 15;
ay.Interval = 1;

ax.IntervalOffset = 0;
ax.Minimum = 0;
ax.Maximum = 360;

ay.IntervalOffset = 0;
ay.Minimum = 0;
ay.Maximum = 10;
//----------------------------------------------------------------------
Series s2 = chartright.Series[0];            // a reference to the default series
ChartArea ca2 = chartright.ChartAreas[0];  // a reference to the default chart area
Axis ax2 = ca2.AxisX;
Axis ay2 = ca2.AxisY;
s2.ChartType = SeriesChartType.Polar;   // set the charttype of the series

// a few data to test:

s2.Points.AddXY(0, 0);

ax2.Interval = 15;
ay2.Interval = 1;

ax2.IntervalOffset = 0;
ax2.Minimum = 0;
ax2.Maximum = 360;

ay2.IntervalOffset = 0;
ay2.Minimum = 0;
ay2.Maximum = 10;
#endregion


c# - 将ChartType从Polar更改为Radar-LMLPHP
c# - 将ChartType从Polar更改为Radar-LMLPHP

最佳答案

PolarRadar图表看起来很相似,但是它们确实有很大的不同。

如您所见,在Polar图表中,您可以通过设置相关的X轴属性来影响段数。

最重要的是MaximumInterval

Radar是不同的:它基本上像索引图表一样工作。这意味着所有点在一行(或更确切地说是一个圆)中都位于相等的距离处,而完全忽略了x值。

这意味着:


段的数量等于DataPoints的数量。
XAxis.Maximum, -Minimum and -Interval的值将被忽略。
即使两个DataPoints的x值相同,也不能共享同一点。


在您的示例中,您必须具有25数据点,可能第一个和最后一个相等。对于Polar图表,它们将位于同一位置,但是对于Radar图表,它们将彼此并排放置,因此您会看到一个以上的分段。

让我克隆第一个点并将其添加到末尾:

s.Points.Add(s.Points.First().Clone());


如果在第一个和最后一个DataPoint中添加颜色,则可以看到更好的效果:

s.Points.First().Color =  Color.Orange;
s.Points.Last().Color = Color.Red;


现在,您可以在Polar图表中看到一个彩色的线段,但在Radar图表中看到两个彩色的数据点段:

c# - 将ChartType从Polar更改为Radar-LMLPHP c# - 将ChartType从Polar更改为Radar-LMLPHP

您还可以看到我已将12+1 DataPoints添加到ChartPolar图表中的第一个和最后一个重合,但在Radar图表中彼此并排放置。

关于c# - 将ChartType从Polar更改为Radar,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39828410/

10-12 17:07