Hi rahul1982,
It is not possibe to increase the width to aviod overlapping.
You need to change the text direction.
Check this example. Now please take its reference and correct your code.
HTML
<cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</cc1:ToolkitScriptManager>
<cc1:LineChart ID="LineChart1" runat="server" ChartHeight="300" ChartWidth="450"
ChartType="Basic" ChartTitleColor="#0E426C" Visible="false" CategoryAxisLineColor="#D08AD9"
ValueAxisLineColor="#D08AD9" BaseLineColor="#A156AB">
</cc1:LineChart>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
window.onload = function () {
var $svg = $("#LineChart1").find("svg");
var $series = $svg.find("text[id=SeriesAxis]");
$series.each(function (index, element) {
var $element = $(element);
var x = $element.attr("x");
var y = +$element.attr("y") + 10;
$element.removeAttr("x");
$element.removeAttr("y");
$element.attr("transform", "translate(" + x + ", " + y + ") rotate(-270)");
});
};
</script>
Code
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string query = string.Format("select datepart(year, orderdate) Year, count(datepart(year, orderdate)) TotalOrders from orders where shipcountry = '{0}' group by datepart(year, orderdate)", "USA");
DataTable dt = GetData(query);
string[] x = new string[dt.Rows.Count];
decimal[] y = new decimal[dt.Rows.Count];
for (int i = 0; i < dt.Rows.Count; i++)
{
x[i] = dt.Rows[i][0].ToString();
y[i] = Convert.ToInt32(dt.Rows[i][1]);
}
LineChart1.Series.Add(new AjaxControlToolkit.LineChartSeries { Name = "USA", Data = y });
query = string.Format("select datepart(year, orderdate) Year, count(datepart(year, orderdate)) TotalOrders from orders where shipcountry = '{0}' group by datepart(year, orderdate)", "UK");
dt = GetData(query);
y = new decimal[dt.Rows.Count];
for (int i = 0; i < dt.Rows.Count; i++)
{
x[i] = dt.Rows[i][0].ToString();
y[i] = Convert.ToInt32(dt.Rows[i][1]);
}
LineChart1.Series.Add(new AjaxControlToolkit.LineChartSeries { Name = "UK", Data = y });
LineChart1.CategoriesAxis = string.Join(",", x);
LineChart1.ChartTitle = string.Format("{0} and {1} Order Distribution", "USA", "UK");
LineChart1.Visible = true;
}
}
private static DataTable GetData(string query)
{
DataTable dt = new DataTable();
string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand(query))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
sda.SelectCommand = cmd;
sda.Fill(dt);
}
}
return dt;
}
}
Screenshot
