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("降序");
            }
  • 相关阅读:
    安装python包
    在RHEL5.4上升级Python
    IronPython开发Windows Form程序总结
    Windows下手动配置Oracle Client的要点
    dreampie一个很不错的python命令行交互工具
    Eclipse插件汇总
    pyDbRowFactory Python版Db Row Factory
    如何让Jython自动加载一个Jar包
    跨计算机执行的几个方法
    Python 版 Instance Activator
  • 原文地址:https://www.cnblogs.com/zyadmin/p/8416793.html
Copyright © 2011-2022 走看看