2010-06-07 2 views
3

На моей оси X у меня есть месяцы. Диаграмма показывает до 11 пунктов, то есть январь - ноябрь того же года, но когда я добавляю 12 пунктов (январь-декабрь), он будет делать вещи с автоматической меткой и менять интервал на каждые 4 месяца.MS Chart Control Scale - Линейный график показывает 12 месяцев

Как изменить график так, чтобы он показывался за 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> 

Спасибо.

ответ

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=""> 

Попробуйте установить inverval свойство 1 на axisx:

<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.

+0

Он по-прежнему делает то же самое – Mike

+0

@ Mike: попробуйте разные значения ширины. .. более высокие, такие как 1000px, 1250px и т. д., видите ли это что-то. –

+0

Я пробовал разные высоты и ширины графиков, и это ничего не меняло. Я даже пробовал 2000px и высоту 600px. Он по-прежнему делает то же самое. – Mike

0

Использование Microsoft диаграмма

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

картировать второй набор значений в тир на оси Y с тир собственной Y значения

Смежные вопросы