首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mschart中的某些数据点显示x轴标签。

在mschart中的某些数据点显示x轴标签。
EN

Stack Overflow用户
提问于 2016-09-15 11:22:26
回答 2查看 1.3K关注 0票数 1

我试图绘制一个正态分布曲线(作为一个SeriesChartType.Spline),在该曲线上有一个选定的项目位置。我的x轴有点乱,所以我试图整理它,但我想不出在特定位置显示轴标签的方法。

我想显示在{x(0),x(平均),x(n)}处的值,以及所选项目的数据点在曲线上的x轴值。

我试过玩

代码语言:javascript
复制
.ChartAreas(0).AxisX.Interval 

但我不一定有标准的间隔范围。

是否只有在指定的数据点才能显示x轴标签?

编辑

正如建议的那样,我为这个图表实现了几个自定义标签。他们不完全是我所说的直觉使用,但他们做了最后的工作。

代码语言:javascript
复制
'//create x-axis labels
mu = Math.Round(mu, 2, MidpointRounding.AwayFromZero)
bci = Math.Round(CDbl(bci), 2, MidpointRounding.AwayFromZero)
Dim muLabel = String.Format("{0}({1})", "µ", mu)

'//Fit axis
With .ChartAreas(0)
    With .AxisX
        .MajorGrid.LineWidth = 0
        .MajorTickMark.Enabled = false
        .Minimum = 0
        With .CustomLabels
            .Add(New CustomLabel(0, 0.4, 0, 0, LabelMarkStyle.LineSideMark))                        '//origin label
            .Add(New CustomLabel(mu-10, mu + 10, muLabel, 0, LabelMarkStyle.LineSideMark))          '//mean label)
            .Add(New CustomLabel(bci-10, bci + 10, bci.ToString, 0, LabelMarkStyle.LineSideMark))   '//index label
        End With
        With .LabelStyle
            .Format = "{0.00}"
            .Font = New Font("Microsoft Sans Serif", 8)
        End With
...

我为标签选择的范围有点武断。我的数据分布不会立即发生很大的变化,所以我选择了一个字体看起来合理的范围,因此标签位于中间。现在看起来可读性要强得多:http://i.imgur.com/7buwdyk.png

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-09 21:46:18

你可以选择

  • CustomLabels替换普通标签。他们是有点棘手,因为你不能设置他们的立场。相反,您需要两个位置(FromPositionToPosition)来声明CustomLabel应居中的范围。注意,一旦使用了CustomLabels ,就不会有普通的显示。
  • 或者您可以添加TextAnnotations。可以将AnchorX设置为所需的值,并将Y位置设置为y-值的最小值。要正确处理这些问题也有点棘手,涉及到AnnotationIsSizeAlwaysRelative的轴,这应该是错误的。
  • 或者,您可以编写Pre-或PostPaint事件,以及使用ValueToPixelPosition轴函数获取坐标的文本Graphics.DrawStringTextRenderer.DrawText。这可能实际上是最容易做到的。
票数 1
EN

Stack Overflow用户

发布于 2016-09-16 08:37:53

您应该能够使用自定义标签 (这里的例子)来完成这个任务,但是可能需要做一些额外的修改来隐藏普通标签(这里的例子)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39509845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档