Hi,请教大家一个问题.
我用了MsChart里的柱状图,数据是动态绑定的,而且是实时刷新,即有时绑定的数据点只有三个,有时又是四个,不固定的.
因为我把图表大小固定了,这样就造成了显示的柱形有时多有时少,而Mschart又自动的根据图表大小调整柱子的大小.有没有办
把X轴固定为十个刻度??
------解决方案--------------------
chart1.ChartAreas["ChartArea1"].AxisX.Maximum = 010;
------解决方案--------------------
/// <summary>
/// 画图
/// </summary>
/// <param name="dt">数据表</param>
/// <param name="ar">要显示的指标</param>
/// <param name="title">标题</param>
/// <param name="filename">文件名</param>
public void DrawChart(DataTable dt, List<string> ar, string title, int widths, Boolean isShowInLabel, Boolean isShow3D, Control control, Boolean isLabelStyle, Boolean isClustered, string color, string filter,string ReqPage)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
for (int k = 0; k < dt.Rows.Count; k++)
{
//判断不是DBNUll
//判断被除的列不为空
if (dt.Rows[k][dt.Columns[j].ColumnName] == DBNull.Value)
{
dt.Rows[k][dt.Columns[j].ColumnName] = 0;
}
}
}
//Series.Point[i].ToolTip="#VALY"----(鼠标移上Point[i]时,显示Y值,移开时消失)
//声明一个chart图形
System.Web.UI.DataVisualization.Charting.Chart Chart1 = new System.Web.UI.DataVisualization.Charting.Chart();
//设置chart的宽度
Chart1.Width = widths;
//设置chart的高度
Chart1.Height = 280;
Chart1.BackColor = Color.White;
//图片的呈现方式
Chart1.RenderType = RenderType.ImageTag;
//设置控件的颜色
//Chart1.Palette = ChartColorPalette.SemiTransparent;
//设置标题
// Title t = new Title(title, Docking.Top, new System.Drawing.Font("宋体", 11, System.Drawing.FontStyle.Bold), System.Drawing.Color.FromArgb(26, 59, 105));//图片标题
//将标题加入到chart里面
//Chart1.Titles.Add(t);
//声明作图区
Chart1.ChartAreas.Add("Areas");
//使轴标签自动拟合
Chart1.ChartAreas["Areas"].AxisX.IsLabelAutoFit = true;
Chart1.ChartAreas["Areas"].BackColor = Color.White;
Chart1.ChartAreas["Areas"].Area3DStyle.WallWidth = 0;
//配置x轴的标签是否斜着显示,为了节约位置
if(isClustered==true)
{
Chart1.ChartAreas["Areas"].AxisX.Interval = 1;
Chart1.ChartAreas["Areas"].AxisX.IntervalOffset = 1;
Chart1.ChartAreas["Areas"].Area3DStyle.IsClustered = isClustered;
Chart1.ChartAreas["Areas"].AxisX.LabelStyle.Angle = -60;
}
//Chart1.ChartAreas["Areas"].Area3DStyle.PointGapDepth = 20;
//Chart1.ChartAreas["Areas"].Area3DStyle.Inclination = 0;
//Chart1.ChartAreas["Areas"].Area3DStyle.Rotation = 20;
//Chart1.ChartAreas["Areas"].Area3DStyle.IsClustered = true;