答案 0 :(得分:1)
您无法自由更改轴标签的文字,也不会跳过任何标签,也不会选择性地透明。
但有两种选择:
CustomLabels
替换轴标签。这意味着您需要创建并添加所有这些数字,每个数字都包含两个数字,这些数字包含FromPosition
和ToPosition
,即CustomLabel
应居中的范围。通常你可以欺骗并使用实际的x值并简单地减去/加一个小值;不要太小,以便标签仍然适合。
如果您已明确设置轴Interval
(正如您所做的那样)1/2
或1/3
那将是良好的抵消;或者,如果您还设置了Minumum
和Maximum
,则可以在循环中正确计算范围,请参阅下文!
Axis ax = yourChartArea.AxisX;
ax.AxisX.LabelStyle.Format = "#";
当然这只能起作用,因为要隐藏的值是0
,数字格式可以抑制它。
第一种选择当然要强大得多。因此,让我们看一下此选项的示例:
double delta = ax.Interval / 3d;
for (double x = ax.Minimum; x <= ax.Maximum; x+=ax.Interval)
{
CustomLabel cl = new CustomLabel();
cl.ToPosition = x + delta;
cl.FromPosition = x - delta;
cl.Text = x.ToString(); // pick your text/format!
if (x != 0) ax.CustomLabels.Add(cl);
}
两种方法的结果相同:
答案 1 :(得分:-1)
如果您使用两个数组对X轴和Y轴进行数据绑定,请在X轴数组中找到零值的位置,并按如下方式添加X和Y轴值:
xaxisarray(z) = 0.0 'In case of a double type array
yaxisarray(z) = Double.NaN 'Add a value that is not a number
同时确保在添加上述值之前调整X和Y轴阵列的大小,并将值移动一步,如下所示:
System.Array.Resize(Of Double)(xaxisarray, xaxisarray.Length + 1)
System.Array.Resize(Of Double)(yaxisarray, yaxisarray.Length + 1)
For i As Integer = xaxisarray.Length - 1 To z + 1 Step -1
xaxisarray(i) = xaxisarray(i - 1)
yaxisarray(i) = yaxisarray(i - 1)
Next