Chart控件真是难搞啊,属性太多了……
不过终于还是搞得差不多了,运行的效果图如下:
这次所有属性设置都用代码(就当整理便于以后查询)。
在窗体放置一个Chart控件,未做任何设置;然后编写代码:
//设置
chart2.Legends[0].Enabled = false;//不显示图例
chart2.ChartAreas[0].BackColor = Color.White;//设置背景为白色
chart2.ChartAreas[0].Area3DStyle.Enable3D = true;//设置3D效果
chart2.ChartAreas[0].Area3DStyle.PointDepth =
chart2.ChartAreas[0].Area3DStyle.PointGapDepth = 50;//设置一下深度,看起来舒服点……
chart2.ChartAreas[0].Area3DStyle.WallWidth = 0;//设置墙的宽度为0;
chart2.ChartAreas[0].AxisY.LabelStyle.Format = "0%";//格式化,为了显示百分号
chart2.ChartAreas[0].AxisY.Interval = 0.05;//设置刻度间隔为5%
chart2.ChartAreas[0].AxisX.MajorGrid.Enabled =
chart2.ChartAreas[0].AxisY.MajorGrid.Enabled = false;//不显示网格线
chart2.ChartAreas[0].AxisX.Minimum = 0.5;//设置最小值,为了让第一个柱紧挨坐标轴
chart2.Series[0].Label = "#VAL{P}";//设置标签文本 (在设计期通过属性窗口编辑更直观)
chart2.Series[0].IsValueShownAsLabel = true;//显示标签
chart2.Series[0].CustomProperties = "DrawingStyle=Cylinder, PointWidth=1";//设置为圆柱形 (在设计期通过属性窗口编辑更直观)
chart2.Series[0].Palette = System.Windows.Forms.DataVisualization.Charting.ChartColorPalette.Pastel;//设置调色板
//数据
chart2.Series[0].Points.AddXY("<10",0.201);
chart2.Series[0].Points.AddXY("10~20", 0.395);
chart2.Series[0].Points.AddXY("20~30", 0.173);
chart2.Series[0].Points.AddXY("30~40", 0.136);
chart2.Series[0].Points.AddXY("40~50", 0.059);
chart2.Series[0].Points.AddXY("50~60", 0.015);
chart2.Series[0].Points.AddXY(">60", 0.022);
是的,就是这种效果啊... 哇,我弄了三四天啊,我还是看到你的回答,才知道怎么弄的....谢谢了啊...
呵呵...不知道怎么感谢了..我可以加你为好友嘛? 非常感谢... 分肯定是要全部给你了...
你技术很强吧? 向你学习...
@*滴血*: 不好意思,刚刚发现个问题,就是
chart2.ChartAreas[0].AxisX.Minimum = 0.5;//设置最小值,为了让第一个柱紧挨坐标轴
这行代码把横坐标刻度给搞没了……如果不加这行会有横坐标刻度,但是第一个柱和纵坐标有点距离。
@Higel: 喔 已经好了,可以,可以显示出来的.........
呵呵.. 谢谢了啊................ 非常的感谢...........
楼主,你X轴上的那个KA是怎么加上去的
1 //设置X、Y轴名称 2 chart_data.ChartAreas[0].AxisX.Title = "时间"; 3 chart_data.ChartAreas[0].AxisX.TitleAlignment = StringAlignment.Far;//设置X轴标题的名称所在位置位远