如何使用ASP.NET图表显示Y值的特定范围(MS图表)

Hal*_*yon 2 c# asp.net charts

我第一次使用ASP.NET图表并取得了巨大的成功.我想要做的一件事就是放大我的图表,使y值不会从0到100.例如,假设我有一些从72到89的点值.我想做的是y轴的y值最低为72,y轴的y值最高为89(它当前显示0为最低值, 100为最高).这是我正在使用的代码:

<asp:Chart ID="Chart1" ImageLocation="~/content/images/temp/charts/ChartPic_#SEQ(300,3)" Height="325px" Width="900px" runat="server">
    <Titles>
        <asp:Title Text="Overview" Font="Arial, 12pt, style=Bold" />
    </Titles>
    <Legends>
        <asp:Legend Font="Segoe UI, 8pt" Alignment="Center" BorderWidth="1" BorderDashStyle="Solid" BorderColor="#C6C6C6" Docking="Bottom" />
    </Legends>
    <ChartAreas>
        <asp:ChartArea Name="ChartArea1">
            <AxisY LineColor="#C6C6C6" IsInterlaced="true" InterlacedColor="#F0F0F0">
                <LabelStyle Font="Segoe UI, 8pt" ForeColor="#787878" />
                <MajorGrid LineColor="#C6C6C6" />
            </AxisY>
            <AxisX LineColor="#C6C6C6">
                <LabelStyle Font="Segoe UI, 8pt" ForeColor="#787878" />
                <MajorGrid LineColor="#C6C6C6" />
            </AxisX>
        </asp:ChartArea>
    </ChartAreas>
</asp:Chart>

protected void Page_Load(object sender, EventArgs e)
{
    var series = new Series("Overview")
    {
        Name = "Series1",
        ChartType = SeriesChartType.Line,
        MarkerStyle = MarkerStyle.Circle,
        MarkerSize = 7,
        XValueType = ChartValueType.Date,
        YValueType = ChartValueType.Double,                     
    };

    foreach (var survey in Surveys)
    {
        series.Points.AddXY(String.Format("{0:MMM yyyy}", survey.Month), survey.Score);
    }

    Chart1.Series.Add(series);
}
Run Code Online (Sandbox Code Playgroud)

Jos*_*ell 5

您需要更改ChartAreaAxisY属性的MinimumMaximum属性.

因此,在您的Page_Load代码中(或者您需要/喜欢它的任何地方),您可以执行以下操作:

ChartArea1.AxisY.Minimum = 72;
ChartArea1.AxisY.Maximum = 89;
Run Code Online (Sandbox Code Playgroud)

你可以从那个/ 属性设置一些其他很酷的东西(比如设置Interval).AxisYAxisX