zoukankan      html  css  js  c++  java
  • WinForm绘制带有升序、降序的柱形图

     private void HuiZhiTu( string strPaiXu)
            {
                //初始数据
                int[] nums = { 150, 89, 200, 60, 70, 90 };
                if (strPaiXu == "升序")
                {
                    //冒泡排序
                    for (int i = 0; i < nums.Length; i++)
                    {
                        for (int j = 0; j < nums.Length-1; j++)
                        {
                            if (nums[i] > nums[j])
                            {
                                int temp = nums[i];
                                nums[i] = nums[j];
                                nums[j] = temp;
                            }
                        }
                    }
                    
                }
                else if (strPaiXu == "降序")
                {
                    //冒泡排序
                    for (int i = 0; i < nums.Length; i++)
                    {
                        for (int j = 0; j < nums.Length-1; j++)
                        {
                            if (nums[i] < nums[j])
                            {
                                int temp = nums[i];
                                nums[i] = nums[j];
                                nums[j] = temp;
                            }
                        }
                    }
                }
                else
                {
                    //正常的顺序
                }
                label1.Text = strPaiXu;
                //创建画布
                int panHeight = this.panel1.Height;
                int panWight = this.panel1.Width;
                Bitmap bitM = new Bitmap(panWight, panHeight);
                Graphics g = Graphics.FromImage(bitM);
                g.Clear(Color.White);
                //绘制横向线条
    
                for (int i = 0; i < 5; i++)
                {
                    g.DrawString(i * 50 + "", new Font("宋体", 10, FontStyle.Regular), new SolidBrush(Color.Black), 20, 50 * (5 - i) - 7);
                    g.DrawLine(new Pen(Color.Red), 50, 50 * i + 50, 500, 50 * i + 50);
                }
                //绘制纵向线条
                g.DrawLine(new Pen(Color.Red), 50, 0, 50, 250);
    
                //填充数据
                for (int i = 0; i < nums.Length; i++)
                {
                    g.FillRectangle(new SolidBrush(Color.Red), 50 * i + 80, 250 - nums[i], 40, nums[i]);
                }
    
    
                this.panel1.BackgroundImage = bitM;
            }
    
            private void btn_HuiZhi_Click(object sender, EventArgs e)
            {
                HuiZhiTu("正常顺序");
            }
    
            private void btn_ShengXu_Click(object sender, EventArgs e)
            {
                HuiZhiTu("升序");
            }
    
            private void btn_JiangXu_Click(object sender, EventArgs e)
            {
                HuiZhiTu("降序");
            }
  • 相关阅读:
    获取一个日期月的所有日期
    elementUI 日期 周一、周二、周三、周四、周五、周六、周日快捷键
    两个日期之间的天数集合
    数组去重并排序
    日历封装
    <转载> VUE项目中CSS管理
    【转载】Vue项目自动转换 px 为 rem,高保真还原设计图
    HTML5新标签
    pChart图表插件使用
    JavaScript ajax请求
  • 原文地址:https://www.cnblogs.com/zyadmin/p/8416793.html
Copyright © 2011-2022 走看看