MS Chart Control Scale - Линейный график показывает 12 месяцев - PullRequest
3 голосов
/ 08 июня 2010

На моей оси X у меня есть месяцы.Диаграмма показывает до 11 баллов, то есть январь - ноябрь того же года, но когда я добавлю 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 ]

4 голосов
/ 08 июня 2010

Попробуйте изменить ширину диаграммы на более высокое значение ...

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

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

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

Чтобы полностью понять, как отформатировать ось диаграммы, взгляните на:

Форматирование меток осей на диаграмме

альтернативный текст http://i.msdn.microsoft.com/dynimg/IC138697.gif

Как диаграмма рассчитывает интервалы меток осей?

На оси категорий типы минимального и максимального значений определяются в зависимости от типа поля вашей категории. Любое поле в наборе данных можно разделить на один из трех типов полей категории: числовое, дата / время и строки.

Отображение всех меток на оси категорий

На оси значений интервалы осей обеспечивают постоянную меру точек данных на диаграмме. Однако на оси категорий эта функция может приводить к появлению категорий без меток оси. Как правило, вы хотите, чтобы все категории были помечены. Вы можете установить количество интервалов в 1, чтобы показать все категории. Для получения дополнительной информации см. Как: указать интервал оси .

0 голосов
/ 22 августа 2012

Использовать диаграмму Microsoft

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

для построения второго набора значений в их по оси Y с их собственными значениями Y

...