0

在此处输入图像描述

我正在使用 wpf 工具包图表控件。使用面积系列绘制图表。我只想在 x 轴上显示自定义间隔标签。它们不适合任何系列或间隔。请看图片。如图所示,我只想在 x 轴上显示 1、9、13、20、26、35 个刻度。

关于如何实现这一点的任何想法都将不胜感激。

4

1 回答 1

0

最后通过反复试验,我找到了解决方案。我重写了 LinearAxis 类的 GetLabelValues 方法,并将有效刻度线列表传递给它。请参阅下面的代码。

public class EquiDistanceAxis : LinearAxis
{
    List<int> validValues;


    public List<int> ValidValues
    {
        get { return validValues; }
    }


    public EquiDistanceAxis()
        : base()
    {
        throw new Exception("Not Implemented.");
    }

    public EquiDistanceAxis(List<int> input)
        : base()
    {
        validValues = input;
    }


    protected override IEnumerable<IComparable> GetLabelValues(Size availableSize)
    {
        IEnumerable<IComparable> tickMarkEnumerator = base.GetLabelValues(availableSize);
        var enumerator = tickMarkEnumerator.GetEnumerator();
        while (enumerator.MoveNext())
        {
            int day = Convert.ToInt32(enumerator.Current);
            if (validValues.Any(v => v == day))
                yield return day;
        }

    }


}
于 2013-11-24T13:19:55.960 回答