GridLines
去DataPoints
和Labels
去GridLines
,但..
您可以设置Interval
和Minimum
为X-Axis
分开来调整它们:
但有一些额外的需要注意的..
// get a reference
ChartArea chartArea1 = chart1.ChartAreas[0];
// don't start at 0
chartArea1.AxisX.IsStartedFromZero = false;
// pick your interval
double interval = 1D;
chartArea1.AxisX.MajorTickMark.Interval = interval;
// set minimum at the middle
chartArea1.AxisX.Minimum = interval/2d;
// pick a column width (optional)
chart1.Series[0].SetCustomProperty("PixelPointWidth", "30");
// we want the labels to sit with the points, not the grid lines..
// so we add custom labels for each point ranging between the grid lines..
for (int i = 0; i < chart1.Series[0].Points.Count; i++)
{
DataPoint dp = chart1.Series[0].Points[i];
chartArea1.AxisX.CustomLabels.Add((0.5d + i) * interval,
(1.5d + i) * interval, dp.XValue.ToString());
}
更新:
随着更新的问题表明,你正在使用的数据绑定使用字符串作为X值。这非常方便,但违背了Chart控件的核心本质。它的所有符号,无论是X-Value
还是任何Y-Values
都在内部存储为双打。
随机字符串不转换为加倍而你可以方便地与字符串添加DataPoints
为X-Values
,丑陋的问题各种各样拿出一个结果。
首先看看X-Values
自己:正如我所说的,他们是双重的;当你检查它们的值时,你会看到它们全都是0.字符串值在哪里?它们被放置在标签中。
有一个问题经常发现,您现在无法访问X-Values
和value expressions。
另一个问题是,我们现在不能给范围的x-Values
自定义标签。
解决方案:如果我们需要自定义标签,我们必须更改数据!
数据绑定是好的,只要确保为您的数据源添加一个数字列包含一个月份号码并将其设置为该系列的XValueMember
!
您可以使该列在您的DataGridView
中不可见。
最后,您会希望像以前一样创建自定义标签;只需将其内容更改为从包含月份名称的字符串列中拉出即可。
下面是它看起来像在这里:
来源
2015-09-06 17:26:25
TaW
更具体 – Arash
投入一些精力,如果面对任何问题,然后张贴在这里。 –
您应该向我们展示如何添加'DataPoints'!他们的“X值”和“X值类型”是什么? – TaW