如何将数据标签的位置移到雷达图之外?

时间:2019-10-02 06:43:45

标签: c# winforms charts

我想将雷达图的数据标签移到外面。

到目前为止,以下是我尝试移动标签的代码:

            rdrOpportunities.Series["Series1"]["RadarDrawingStyle"] = "Area";
            rdrOpportunities.Series["Series1"]["AreaDrawingStyle"] = "Circle";
            rdrOpportunities.Series["Series1"]["CircularLabelStyle"] = "Circular";
            rdrOpportunities.Series["Series1"].BorderWidth = 1;

            rdrOpportunities.ChartAreas[0].AxisY.LabelAutoFitStyle = LabelAutoFitStyles.None;
            rdrOpportunities.ChartAreas[0].AxisY.IsLabelAutoFit = false;
            rdrOpportunities.ChartAreas[0].AxisX.LabelAutoFitStyle = LabelAutoFitStyles.None;
            rdrOpportunities.ChartAreas[0].AxisX.IsLabelAutoFit = false;

请帮助:( 预先感谢您回答我的问题:)

This is my Radar Chart

This is the Radar Chart that i want to do

This is my Radar Chart when Gridlines are Visible

1 个答案:

答案 0 :(得分:1)

直接的方法是为您的SmartLabelStyle设置一个合适的Series s

s.SmartLabelStyle.Enabled = true;
s.SmartLabelStyle.AllowOutsidePlotArea = LabelOutsidePlotAreaStyle.Yes;

但是,查看标签文本的大小将不会这样做,因为外部空间不足。

然后您可以尝试减小InnerPlotPositionChartArea ca的大小,如下所示:

ca.InnerPlotPosition = new ElementPosition(x, y, w, h);

数字以图表的百分比(!!)表示。 (0,0,100,100)将填满整个图表,而没有空间容纳轴,标签,图例等。

根据细节,您将需要在各方面留出一些空间。剩下的10%都将使用(10,10,80,80)。您可能需要使绘图区域小得多,也许不超过(60,60)。.这确实需要反复试验。

请注意,尽管这会使标签更靠外,但它们基本上仍在内部。