我正在使用wpf工具包图表控件。使用Area系列绘制图表。 我想在x轴上只显示自定义间隔标签。它们不适合任何系列或间隔。请看图像。如图所示,我只想在x轴上显示1,9,13,20,26,35个刻度。
如果能够实现这一目标,我们将不胜感激。
答案 0 :(得分:0)
最后通过点击和试用,我找到了解决方案。我重写了LinearAxis类的Get Label Values方法,并向其传递了一个有效刻度标记列表。请参阅下面的代码。
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;
}
}
}