如何设置MigraDoc图表的X轴刻度标记

3

我手动为x轴的标签赋值。每150个步骤应该有一个值。其余部分是String.Empty。这部分完美地工作。

Chart plotter = plotter_ref.Clone();

XSeries xseries = plotter.XValues.AddXSeries();
xseries.Add("0");
for (int i = 2; i <= 600; i++)
{
    if (i % 150 == 0)
    {
        xseries.Add(i.ToString());                    
    }
    else
    {
        xseries.Add(String.Empty);
    }
}

现在我希望在数值点处有刻度标记。我尝试设置MajorTickMark属性。
plotter.XAxis.MajorTick = 150;
plotter.XAxis.MajorTickMark = TickMarkType.Cross;
// or this 
//plotter.XAxis.MajorTickMark = TickMarkType.Inside;

但它没有效果: enter image description here 我做错了什么?
如果我仔细看看教程中的示例图表部分,他们的示例也没有显示任何x轴刻度。这是否可能?请参考:教程示例

你解决了这个问题吗?我也遇到了同样的事情,现在正在寻找解决方案。 - mcy
抱歉,@mcy,我没有找到答案。我试着研究了很多,但是没有想通。 - Mong Zhu
是的,我也是。只是放弃了结尾的引号。 - mcy
@mcy 我也放弃了刻度标记。另一个问题的解决方法是在实际的 Winforms.Charts 中绘制它(这更加方便),然后将其保存为 *.png 或 *.jpeg 文件并将图像加载到 PDF 表格中。这也起作用了。只是需要多做一点琢磨 ;) - Mong Zhu
1个回答

0

如果你再来个新花样呢?比如在打印那些值的时候,你可以这样做:

xseries.Add( "+" + Environment.NewLine + i.ToString()) );

因此,它将会像这样插入:

--------------------------------------
           +          +
0         150        300

并且只是相对于上方12像素的位置吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接