ASP.NET 图表控件 - 将标签添加到 AxisY Crossing,而不删除主要网格线的自动标签

发布于 2024-11-02 11:00:48 字数 1401 浏览 2 评论 0 原文

我正在使用 ASP.NET 图表控件。我有一个简单的二维图表,其中有两个系列,一个是正数,另一个是负数。这是目前的样子: Picture of my Chart

我猜测,因为我的数据范围,Y 轴位于默认情况下不显示零。但如果我添加这一行,它就会(如上图所示):

AxisY.Crossing = 0;

AxisY 是对 Y 轴对象的引用。现在有没有办法标记轴而不必手动标记所有主要网格线?如果我这样做,它将标记轴,但所有其他美元标签都会消失:

Chart.ChartAreas[0].AxisY.CustomLabels.Add(new CustomLabel(0, 1, "0", 0, LabelMarkStyle.SideMark));

这是我的 ASP.NET 代码:

 <asp:Chart ID="chartStudyResults" runat="server" AntiAliasing="All" 
        Height="650px" Width="690px">
        <Series>
        </Series>
        <ChartAreas>
            <asp:ChartArea Name="main" IsSameFontSizeForAllAxes="true">
                <AxisX Interval="1" IntervalAutoMode="VariableCount">                    
                    <MajorGrid Enabled="false" />                                
                </AxisX>                        
                <AxisY>
                    <MajorGrid Enabled="true" />
                </AxisY>
            </asp:ChartArea>
        </ChartAreas>
    </asp:Chart> 

我正在代码中添加系列数据。提前致谢。

I am using the ASP.NET Chart Control that Microsoft provides. I have a simple 2D chart with two series in it, one is positive and the other is negative. Here is what it looks like currently: Picture of my chart

I am guessing, because of my data range that the Y Axis at zero does not display by default. But if I add this line it does (as you can see in the above image):

AxisY.Crossing = 0;

AxisY is a reference to the Y Axis object. Is there a way to now label the axis without having to manually label all the major grid lines? If I do this it will label the Axis, but all the other dollar labels disappear:

Chart.ChartAreas[0].AxisY.CustomLabels.Add(new CustomLabel(0, 1, "0", 0, LabelMarkStyle.SideMark));

Here is my ASP.NET code:

 <asp:Chart ID="chartStudyResults" runat="server" AntiAliasing="All" 
        Height="650px" Width="690px">
        <Series>
        </Series>
        <ChartAreas>
            <asp:ChartArea Name="main" IsSameFontSizeForAllAxes="true">
                <AxisX Interval="1" IntervalAutoMode="VariableCount">                    
                    <MajorGrid Enabled="false" />                                
                </AxisX>                        
                <AxisY>
                    <MajorGrid Enabled="true" />
                </AxisY>
            </asp:ChartArea>
        </ChartAreas>
    </asp:Chart> 

I am adding the series data in code. Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一曲琵琶半遮面シ 2024-11-09 11:00:48

您是否手动设置 AxisY 间隔?如果是这样,您将需要进行调整,使零成为主要刻度线之一,或者不设置 AxisY 间隔。

Are you setting the AxisY intervals manually? If so you will need to adjust so zero is one of the major tickmarks or don't set the AxisY interval.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文