在图表中显示Y轴上的字母

时间:2018-05-15 09:58:46

标签: c# winforms charts axis-labels yaxis

亲爱的编码员,

我正在尝试创建一个包含由ASCII字符组成的Y轴的图表(例如Hx 41 - A到Hx 46 F)这用于显示控制图中的等级。 我搜索了多个网站,但(也许我没有正确搜索)我找不到我要找的东西。

我现在有什么:
- 我的Y轴现在包含编号(Hex.41到46) - 我的Y轴没有以任何方式格式化,只有最小值和最大值由下面的代码填充

            if (measurementData.Max() >= Usl) maxValue = measurementData.Max();
            else if (measurementData.Max() < Usl) maxValue = Usl + 0.1;

            if (measurementData.Min() <= Lsl) minValue = measurementData.Min();
            else if (measurementData.Min() > Lsl) minValue = Lsl - 0.1;

我想要什么:
- 我的Y轴显示'A'直到'F'(而不是Hex.41到46)

1 个答案:

答案 0 :(得分:0)

看了一下之后......我找到了一个解决方案:

Chart1.ChartAreas("ChartArea1").AxisX.CustomLabels.Add(0.5, 1.5, "yr1")
Chart1.ChartAreas("ChartArea1").AxisX.CustomLabels.Add(1.5, 2.5, "yr2")
Chart1.ChartAreas("ChartArea1").AxisX.CustomLabels.Add(2.5, 3.5, "yr3")

使用上面的示例并将其修改为以下内容:

crtProces.ChartAreas[0].AxisY.CustomLabels.Clear();
crtProces.ChartAreas[0].AxisY.CustomLabels.Add(40.5, 41.5, "A");
crtProces.ChartAreas[0].AxisY.CustomLabels.Add(41.5, 42.5, "B");
crtProces.ChartAreas[0].AxisY.CustomLabels.Add(42.5, 43.5, "C");
crtProces.ChartAreas[0].AxisY.CustomLabels.Add(43.5, 44.5, "D");
crtProces.ChartAreas[0].AxisY.CustomLabels.Add(44.5, 45.5, "E");
crtProces.ChartAreas[0].AxisY.CustomLabels.Add(45.5, 46.5, "F");

我的下一个问题是,如何将其变为可变?现在手动填充增量(40.5 - 41.5)但是如何在for循环中完成?

enter image description here