MS图表控制比例 - 线图显示12个月

时间:2010-06-07 23:26:40

标签: c# asp.net mschart linegraph

在我的X轴上,我有几个月。该图表显示最多11点,即同年1月至11月,但当我加上12点(1月 - 12月)时,它会做一个自动标签的事情,并且每4个月更改一次。

如何更改图表以便在显示自动标签前12个月显示?

这是我目前使用的服务器控制代码。

<asp:CHART ID="Chart1" runat="server" 
    BorderColor="181, 64, 1" BorderDashStyle="Solid" BorderWidth="2" Height="296px" 
    ImageLocation="~/TempImages/ChartPic_#SEQ(300,3)" ImageType="Png" 
    Palette="None" Width="700px" 
    BorderlineColor="">
        <legends>
            <asp:Legend BackColor="Transparent" 
                                    Font="Trebuchet MS, 8pt, style=Bold" 
                IsTextAutoFit="False" Name="Default" Alignment="Center" 
                DockedToChartArea="ChartArea1" Docking="Top" IsDockedInsideChartArea="False" 
                Title="Legend">
            </asp:Legend>
        </legends>
        <series>
            <asp:Series BorderColor="180, 26, 59, 105" BorderWidth="2" ChartType="Line" 
                                    Color="220, 65, 140, 240" MarkerSize="6" 
                Name="Series1" ShadowColor="Black" 
                                    ShadowOffset="2" XValueType="DateTime" YValueType="Double" 
                                    LabelFormat="c0" LegendText="Actual" 
                MarkerStyle="Circle">
            </asp:Series>
            <asp:Series BorderColor="180, 26, 59, 105" BorderWidth="2" ChartType="Line" 
                                    Color="220, 224, 64, 10" MarkerSize="6" Name="Series2" ShadowColor="Black" 
                                    ShadowOffset="2" XValueType="DateTime" YValueType="Double" 
                                    LabelFormat="c0" LegendText="Projected" 
                MarkerStyle="Circle">
            </asp:Series>
            <asp:Series BorderColor="180, 26, 59, 105" BorderWidth="2" 
                ChartArea="ChartArea1" ChartType="Line" 
                                    Legend="Default" Name="Series3" LabelFormat="c0" XValueType="DateTime" 
                                    YValueType="Double" Color="0, 192, 192" MarkerSize="6" 
                ShadowColor="Black" ShadowOffset="2" LegendText="Actual Credit Limit" 
                MarkerStyle="Circle">
            </asp:Series>
        </series>
        <chartareas>
            <asp:ChartArea BackColor="#DEEDF7" BackGradientStyle="TopBottom" 
                                    BackSecondaryColor="White" BorderColor="64, 64, 64, 64" BorderDashStyle="Solid" 
                                    Name="ChartArea1" ShadowColor="Transparent">
                <area3dstyle inclination="40" isclustered="False" isrightangleaxes="False" 
                                        lightstyle="Realistic" perspective="9" rotation="25" wallwidth="3" />
                <axisy linecolor="64, 64, 64, 64" islabelautofit="False" 
                                        isstartedfromzero="False">
                    <LabelStyle Font="Trebuchet MS, 8.25pt, style=Bold" Format="c0" />
                    <majorgrid linecolor="64, 64, 64, 64" />
                </axisy>
                <axisx linecolor="64, 64, 64, 64" intervaloffsettype="Months" 
                                        intervaltype="Months" islabelautofit="False" isstartedfromzero="False">
                    <LabelStyle Font="Trebuchet MS, 8.25pt, style=Bold" Angle="-60" 
                                            Format="MMM yy" />
                    <majorgrid linecolor="64, 64, 64, 64" />
                </axisx>
            </asp:ChartArea>
        </chartareas>
    </asp:CHART>

感谢。

2 个答案:

答案 0 :(得分:4)

尝试将图表的宽度更改为更高的值...

<asp:Chart ID="Chart1" runat="server" 
BorderColor="181, 64, 1" BorderDashStyle="Solid" BorderWidth="2" Height="296px" 
ImageLocation="~/TempImages/ChartPic_#SEQ(300,3)" ImageType="Png" 
Palette="None" Width="800px" 
BorderlineColor="">

尝试在axisx上将inverval属性设置为1:

 <axisx Interval="1" linecolor="64, 64, 64, 64" intervaloffsettype="Months" 
  intervaltype="Months" islabelautofit="False" isstartedfromzero="False">

要完全了解如何设置图表轴的格式,请查看:

Formatting Axis Labels on a Chart

alt text http://i.msdn.microsoft.com/dynimg/IC138697.gif

图表如何计算轴标签间隔?

类别轴上,根据类别字段的类型确定最小值和最大值类型。数据集中的任何字段都可以分为三种类别字段类型之一:数字,日期/时间和字符串。

在类别轴上显示所有标签

在值轴上,轴间隔提供图表上数据点的一致度量。但是,在类别轴上,此功能可能会导致类别在没有轴标签的情况下显示。通常,您希望标记所有类别。您可以将间隔数设置为1以显示所有类别。有关详细信息,请参阅How to: Specify an Axis Interval

答案 1 :(得分:0)

使用Microsoft图表

chart.ChartAreas[0].AxisY.ScaleBreakStyle = true 

使用自己的Y值绘制Y轴上的第二组值