C 多曲線資料分析

2021-09-21 07:34:32 字數 4428 閱讀 2511

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.windows.forms;

using system.data.sqlclient;

namespace multicurve

private void form1_load(object sender, eventargs e)

}private void createimage(int id)

dr.close();                                            //關閉sqldatareader物件

//畫的邊框線

g.drawrectangle(new pen(color.blue), 0, 0, image.width - 1, image.height - 1);

pen mypen = new pen(brush, 1);                            //建立畫筆

pen mypen2 = new pen(color.red, 2);                        //建立畫筆 

int x = 60;

for (int i = 0; i < 12; i++)

pen mypen1 = new pen(color.blue, 2);                        //建立畫筆

g.drawline(mypen1, x - 480, 80, x - 480, 340);                //繪製線條

int y = 106;

for (int i = 0; i < 9; i++)

g.drawline(mypen1, 60, y, 540, y);

//x軸

string n = ;    //繪製月份

x = 35;

for (int i = 0; i < 12; i++)

//y軸

string m = ;                                //繪製人數

y = 100;

for (int i = 0; i < 9; i++)

int count1 = new int[12];

int count2 = new int[12];

string numchr = new string[12];

string cmdtxt2 = "select * from tb_curve where years=" + id + "";    //宣告sql語句

sqlcommand com1 = new sqlcommand(cmdtxt2, con);            //建立sqlcommand物件

sqldataadapter da = new sqldataadapter();                    //建立sqldataadapter物件

da.selectcommand = com1;

dataset ds = new dataset();                                //建立dataset物件

da.fill(ds);                                            //fill方法填充dataset

int j = 0;

for (int i = 0; i < 12; i++)

for (j = 0; j < 12; j++)

for (int k = 0; k < 12; k++)

//顯示折線效果

solidbrush mybrush = new solidbrush(color.red);                    //建立solidbrush物件

point points1 = new point[12];

points1[0].x = 60; points1[0].y = 340 - count1[0];

points1[1].x = 100; points1[1].y = 340 - count1[1];

points1[2].x = 140; points1[2].y = 340 - count1[2];

points1[3].x = 180; points1[3].y = 340 - count1[3];

points1[4].x = 220; points1[4].y = 340 - count1[4];

points1[5].x = 260; points1[5].y = 340 - count1[5];

points1[6].x = 300; points1[6].y = 340 - count1[6];

points1[7].x = 340; points1[7].y = 340 - count1[7];

points1[8].x = 380; points1[8].y = 340 - count1[8];

points1[9].x = 420; points1[9].y = 340 - count1[9];

points1[10].x = 460; points1[10].y = 340 - count1[10];

points1[11].x = 500; points1[11].y = 340 - count1[11];

g.drawlines(mypen2, points1);                                //繪製折線

pen mypen3 = new pen(color.black, 2);                            //建立畫筆

point points2 = new point[12];

points2[0].x = 60; points2[0].y = 340 - count2[0];

points2[1].x = 100; points2[1].y = 340 - count2[1];

points2[2].x = 140; points2[2].y = 340 - count2[2];

points2[3].x = 180; points2[3].y = 340 - count2[3];

points2[4].x = 220; points2[4].y = 340 - count2[4];

points2[5].x = 260; points2[5].y = 340 - count2[5];

points2[6].x = 300; points2[6].y = 340 - count2[6];

points2[7].x = 340; points2[7].y = 340 - count2[7];

points2[8].x = 380; points2[8].y = 340 - count2[8];

points2[9].x = 420; points2[9].y = 340 - count2[9];

points2[10].x = 460; points2[10].y = 340 - count2[10];

points2[11].x = 500; points2[11].y = 340 - count2[11];

g.drawlines(mypen3, points2);                                //繪製折線

//繪製標識

g.drawrectangle(new pen(brushes.red), 150, 370, 250, 50);            //繪製範圍框

g.fillrectangle(brushes.red, 250, 380, 20, 10);                    //繪製小矩形

g.drawstring("試用員工人數", font2, brushes.red, 270, 380);            //繪製試用員工人數

g.fillrectangle(brushes.black, 250, 400, 20, 10);                    //繪製小矩形

g.drawstring("正式員工人數", font2, brushes.black, 270, 400);            //繪製正式員工人數

this.panel1.backgroundimage = image;                            //顯示繪製的影象

資料分析 留存率曲線擬合

留存率,在資料分析中,我認為是乙個比較好用的指標,因為比較穩定,不會很容易受外界因素的干擾,大幅波動。例如活動,推廣等。可以用來做使用者的分類,做使用者規模 我們看到的留存曲線通常是這樣的 這裡介紹幾種留存率曲線擬合的方法 1.用excel 擬合 擬合樣本,1日 12日留存率,畫好曲線圖後,為曲線圖...

資料分析 資料分析概述

了解業務 了解資料 確認業務和資料 預期分析和管理 資料分析方式01.了解資料資料 1.測量標度型別 屬性本源並不是數字或者符號,通過測量標度將數值或者符號和物件的屬性建立關聯。屬性的型別 測量尺度 nominal 標稱 等於或者不等於 一對一的變換 ordinal 序數 大於或者小於 單調函式的變...

資料分析 資料分析的誤區

在資料分析的過程中,我們難免會走一些彎路,但有些彎路是可以避免的,下面我將介紹幾個資料分析過程中常見的誤區 我們一定都聽說過二戰中的乙個經典示例 軍方為了提高戰鬥機飛行員的生還率,打算在飛機上增加裝甲的厚度,但不能在所有部位加厚,這樣會喪失戰機的靈活性,於是軍方請了統計學家來研究,這些專家在一開始就...