C# 画折线图

 /*放到Page_Load下*/
        /*自写编码*/
        int ImgWidth = 600;        //1.[总宽度]            ***图宽度  
        int ImgHeight = 300;        //2.[总高度]            ***图高度       
        int ItemNum = 8;            //3.[项目数量]            ***图表划分的块           
        int ChildNum = 1;            //4.[块数]                ***大块中划分的子项的数量
        float ChildRate = 1f;    //5.[各块总占空间比率]
        //int ChildSpace=15;        //6.[各块间的间距]
        int ChartLeft = 80;        //7.[图表左边距]        ***图表距图的左边距离
        int ChartRight = 50;        //8.[图表右边距]        ***图表距图的右边距离
        int ChartTop = 50;        //9.[图表顶边距]        ***图表距图顶边距离
        int ChartBottom = 50;        //10.[图表底边距]        ***图表距图底边距离
        int YMaxValue = 5000;        //11.[纵坐标标尺最大值]    ***纵坐标标尺的最大值
        int YItemNum = 5;        //12.[纵坐标标尺段数]    ***纵坐标标尺的段数
        int YTop = 15;            //13.[距纵轴顶端间隔]
        int YStrStart = 35;        //14.[纵坐标标尺文字起始X坐标]
        int XRight = 15;            //15.[距横轴右端间隔]
        int XStrStart = 10;        //16.[横坐标标尺文字起始Y坐标]


        //[图表总宽度]=[总宽度]-[图表左边距]-[图表右边距]-[距横轴右端间隔]
        int chartwidth = ImgWidth - ChartLeft - ChartRight - XRight;
        //[项目宽度]=[图表总宽度]/[项目数量]
        int itemwidth = chartwidth / ItemNum;
        //[各块总占空间比率的实际宽度]=[项目宽度]*[各块总占空间比率]
        int factwidth = Convert.ToInt32(Math.Floor(itemwidth * ChildRate));
        //[各块矩形宽度]=[各块总占空间比率的实际宽度]/[块数]
        int rectanglewidth = factwidth / ChildNum;
        //[各块间的间距]=([项目宽度]-[各块总占空间比率的实际宽度])/([块数]+1)
        int childspace = Convert.ToInt32(Math.Floor(Convert.ToDouble((itemwidth - factwidth) / (ChildNum + 1))));

        Graphics objGps;//建立画板对象
        Bitmap objBitMap = new Bitmap(ImgWidth, ImgHeight);//建立位图对象
        objGps = Graphics.FromImage(objBitMap);//根据位图对象建立画板对象
        objGps.Clear(Color.White);//设置画板对象的背景色

        int[] arrValues ={ 0, 0, 0, 0, 0, 0,0,0 };//数据数组

        arrValues[0] = Convert.ToInt32(Math.Floor(Convert.ToDouble((ImgHeight - ChartBottom - ChartTop - YTop) * 2600 / YMaxValue)));    //处理显示数据,进行图表数值对应
        arrValues[1] = Convert.ToInt32(Math.Floor(Convert.To

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值