Bar Chart structure question

Thread is closed for posting
5 posts, 1 answers
  1. Lynn
    Lynn avatar
    186 posts
    Member since:
    Sep 2006

    Posted 10 Jun 2010 Link to this post

    I am working with RadChart for the first time, so I still have a LOT to learn.  There are several things I need to do to this RadWindow, but I'll deal with those after I get the chart right. I have attached a screen copy of my chart as it now exists, and then have three of questions.

    Questions:
    (1) I do not want the numbers (5, 4, 3, 2, 1) down the left-hand side. Instead, I want the text strings (such as "Something we must have to keep up with our competitors" and "A tool our competitors are using better than we are") in that location on the chart.  It's okay if the text wraps onto multiple lines as long as you can tell which bar on the chart the text is associated with.  Can you tell me how to eliminate the numbers and move the text?

    (2) Once the text strings are moved to the left side of the axis, I want them to display in their entirety.  In the attached screen capture, they are cut off after about half of the text is displayed.  Can I accomplish this and, if so, how?

    (3) If I wanted to change the color of the bars from gold to, say green, how would I do that?

    That's plenty for now.  Sorry to be a pain.  If I can accomplish these 3 items, I'll be happy!

    Thanks!

    Lynn
  2. Ves
    Admin
    Ves avatar
    2926 posts

    Posted 16 Jun 2010 Link to this post

    Hello Lynn,

    Onto your questions:
    1. You can find such example here -- Automatic Text Wrapping
    2. This is controlled by the following property RadChart1.PlotArea.XAxis.Appearance.TextAppearance.MaxLength - its default value is 30, so the ellipsis is added after the 30-th character. You can set it to a larger value like 200.
    3. Here is an example:
    RadChart1.Series[0].Appearance.FillStyle.FillType = Telerik.Charting.Styles.FillType.Solid;
    RadChart1.Series[0].Appearance.FillStyle.MainColor = Color.Green;
    Or you can use gradient fill type and provide MainColor and SecondColor. Make sure this code is executed after the chart series are created. In case the chart is databound, you can wire the DataBound event and place the code there.

    Hope this helps.

    Best regards,
    Ves
    the Telerik team

    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
  3. Lynn
    Lynn avatar
    186 posts
    Member since:
    Sep 2006

    Posted 17 Jun 2010 Link to this post

    Responding only to my first issue:

    (1) I do not want the numbers (5, 4, 3, 2, 1) down the left-hand side. Instead, I want the text strings (such as "Something we must have to keep up with our competitors" and "A tool our competitors are using better than we are") in that location on the chart.  It's okay if the text wraps onto multiple lines as long as you can tell which bar on the chart the text is associated with.  Can you tell me how to eliminate the numbers and move the text?

    I'm not exactly certain which values/properties/etc. to change to accomplish the above.  If you look at the attached graphic, I stiill have the values 1 through 5 from bottom to top and the text explanations written next to the bars.  I have included the chart definition and the code-behind for this chart.  Can you tell me what to change to accomplish this, please and thank you?


    <telerik:RadChart ID="RadChart1" runat="server" AutoTextWrap="true"   
                    Skin="Black" AutoLayout="true" Height="200px" Width="680px" SeriesOrientation="Horizontal">  
                        <Series> 
                            <telerik:ChartSeries DataYColumn="VoteCount" Name="Ten Most Expensive Products">  
                            </telerik:ChartSeries> 
                        </Series> 
                        <PlotArea> 
     
                        </PlotArea> 
                    </telerik:RadChart> 

                RadChart1.ChartTitle.TextBlock.Text = "Today's Poll Results" 
                RadChart1.Legend.Visible = False 
                Dim chartSeries As New ChartSeries()  
                chartSeries.Type = ChartSeriesType.Bar  
                Dim reccount As Integer = 0 
     
                Dim cmd As SqlCommand = New SqlCommand(sqlSelectCommand, conn1)  
                Try  
                    Dim reader As SqlDataReader = cmd.ExecuteReader()  
                    Do While reader.Read()  
                        chartSeries.AddItem(reader("VoteCount"), reader("TextLangShortBody"))  
                        reccountreccount = reccount + 1  
                    Loop  
                    reader.Close()  
                    reader = Nothing 
                Catch ex As Exception  
                    Throw New ApplicationException("DataReader Populate Error. Code=" & ex.Message & "sql=" & sqlSelectCommand)  
                Finally  
                End Try  
     

    Lynn
  4. Answer
    Ves
    Admin
    Ves avatar
    2926 posts

    Posted 17 Jun 2010 Link to this post

    Hello Lynn,

    It's the RadChart1.PlotaArea.XAxis.DataLabelsColumn property that does it. Set it with the name of the column that holds the labels ("TextLangShortBody"). Note, that this would work when the chart is databound. I can you have correctly created the ChartSeries and set it DataYColumn property, so you would not need to create all the chart items manually. Set the DataSource property -- directly with DataReader or extract the data to a DataTable -- and then call DataBind.

    Best regards,
    Ves
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  5. Lynn
    Lynn avatar
    186 posts
    Member since:
    Sep 2006

    Posted 19 Jun 2010 Link to this post

    Ves,

    Perfect!  Thanks to all of you for staying with me on this one.  I changed the chart to being databound to a datatable and made the other changes and it all came out great.  I still have some fine tuning to do, but I'm beginning to understand the chart control better.

    I attached a screen capture of the way it is right now.   Thanks again!

    Lynn
Back to Top