如何在图表中删除舍入轴OY?
我传递格式为1,3546的值,图表显示为1,35。
答案 0 :(得分:0)
对于给定的Axis
,您可以设置LabelStyle.Format
。
例如,你可以使用它:
chart1.ChartAreas["area1"].AxisX.LabelStyle.Format = "000.000\\%";
或者这个:
chart1.ChartAreas[0].AxisY.LabelStyle.Format = "###,##0.00000";
注意:这会格式化轴网格的Label
,因此您认为舍入。事实上,GridLines
DataPoints 不是的值!
要显示DataPoints
的Y值,您有三个我知道的选项,我会告诉您每个:
您可以使用每个点在图表中显示它们
当鼠标悬停在某个点上时,您可以将它们显示为工具提示
或者您可以沿着Y轴在CustomLabels
中显示它们,这可能就是您想要的。请注意,如果
如果不满足一个或两个条件,CustomLabels
将重叠。
设置CustomLabels
有点棘手。这是一段代码,每个数据点设置一个。如上所述,您可能需要插入检查以防止重叠..
// propare a few short names
ChartArea CA = chart1.ChartAreas[0];
Series S1 = chart1.Series[0];
// this would be option one:
S1.IsValueShownAsLabel = true;
// we clear any previous CustomLabels
CA.AxisY.CustomLabels.Clear();
// we create a version of our points collection which sorted by Y-Values:
List<DataPoint> ptS = S1.Points.OrderBy(x => x.YValues[0]).ToList();
// now, for option three we add the custom labels:
for (int p = 0; p < ptS.Count; p++)
{
CustomLabel L = new CustomLabel(ptS[p].YValues[0] - 0.5,
ptS[p].YValues[0] + 0.5,
ptS[p].YValues[0].ToString("##0.0000"),
0, LabelMarkStyle.None);
CA.AxisY.CustomLabels.Add(L);
// this is option two: tooltips for each point
ptS[p].ToolTip = ptS[p].YValues[0].ToString("##0.0000");
}
CustomLabel
的前两个参数是关于Y位置或实际上它们应该标记的Y值范围。接下来的值,格式化为显示您想要的小数位数。最后是第一行标签,没有标记。
这是一个屏幕截图,显示了所有三个选项: