如何在带有Bar-type的Telerik的RadChart组件中设置Y轴而不是数字的文本

时间:2010-05-25 07:39:52

标签: asp.net telerik radchart

我制作了一个条形RadChart,其中“SeriesOrientation =”Horizo​​ntal“”。

我在每个条形的最后都显示了文字,但我希望该文字在y轴上进行,而不是1,2,3 ..数字。

好像我不允许在y轴上设置任何文字,我可以设置一个属性吗?

这是我的代码片段: === .ascx ===

    <div>
        <asp:ScriptManager ID="ScriptManager" runat="server" />

        <asp:UpdatePanel  ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <telerik:RadChart ID="RadChart1" runat="server"
                    Skin="WebBlue" AutoLayout="true" Height="350px" Width="680px" SeriesOrientation="Horizontal">
                    <Series>
                        <telerik:ChartSeries DataYColumn="UnitPrice" Name="Product Unit Price">
                        </telerik:ChartSeries>
                    </Series>
                    <PlotArea>
                        <YAxis>
                            <Appearance>
                                <TextAppearance TextProperties-Font="Verdana, 8.25pt, style=Bold" />
                            </Appearance>
                        </YAxis>
                        <XAxis DataLabelsColumn="TenMostExpensiveProducts">
                        </XAxis>
                    </PlotArea>
                    <ChartTitle>
                        <TextBlock Text="Ten Most Expensive Products" />
                    </ChartTitle>
                </telerik:RadChart>
            </ContentTemplate>
        </asp:UpdatePanel>
</div>

=========================

=== .ascx ===
        protected void Page_Load(object sender, EventArgs e)
        {
            RadChart1.AutoLayout = false;
            RadChart1.Legend.Visible = false;

            // Create a ChartSeries and assign its name and chart type
            ChartSeries chartSeries = new ChartSeries();
            chartSeries.Name = "Name";
            chartSeries.Type = ChartSeriesType.Bar;

            // add new items to the series,
            // passing a value and a label string
            chartSeries.AddItem(98, "Product1");
            chartSeries.AddItem(95, "Product2");
            chartSeries.AddItem(100, "Product3");
            chartSeries.AddItem(75, "Product4");
            chartSeries.AddItem(1, "Product5");

            // add the series to the RadChart Series collection
            RadChart1.Series.Add(chartSeries);
            // add the RadChart to the page.
            //                this.Page.Controls.Add(RadChart1);

            //            RadChart1.Series[0].Appearance.LegendDisplayMode = ChartSeriesLegendDisplayMode.Nothing;
            //            RadChart1.Series[0].DataYColumn = "Uptime";
            RadChart1.PlotArea.XAxis.DataLabelsColumn = "Name";
            RadChart1.PlotArea.XAxis.Appearance.TextAppearance.TextProperties.Font = new System.Drawing.Font("Verdana", 8);
            RadChart1.BackColor = System.Drawing.Color.White;
            RadChart1.Height = 350;
            RadChart1.Width = 570;
            RadChart1.DataBind();
        }

============ 我希望在y轴上有文字:“Product1”,“Product2”等。

任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

您需要绑定图表 - 设置DataSource属性并调用DataBind()。您不需要调用chartSeries.AddItem()。 DataBind()将为您添加项目。数据源可以是具有两列的DataTable - “UnitPrice”和“TenMostExpensiveProducts”。请参阅,这些是您在系列中设置为DataYColumn的名称和XAxis中的DataLabelsColumn。