Trình bày đồ thị

Một số cách thức trình bày đồ thị

Mục lục

Chương trình thường dùng để vẽ đồ thị trong SAS là PROC SGPLOT. Cú pháp như sau:

ODS GRAPHICS ON/HEIGHT=3in WIDTH=6in;

PROC SGPLOT DATA=FINALBIN;
VBAR /*X-axis*// RESPONSE=/*Y-axis*/ GROUP=/*Group Variable*/  /*Option1*/;
VLINE /*X-axis*// RESPONSE=/*Y-axis*/ GROUP=/*Group Variable*/ /*Option2*/;
TITLE /*Title*/;
WHERE;
Y2AXIS LABEL=/*Axis Label*/ /*Option*/;
YAXIS LABEL=/*Axis Label*/ /*Option*/;
XAXIS LABEL=/*Axis Label*/ /*Option*/;
LABEL /*Variable Label*/;
RUN;

Trong đó:

  • ODS GRAPHICS Các tùy chọn về kích thước đồ thị. Phổ biến nhất là tùy chọn độ dài chiều ngang và chiều dọc.
  • VBAR/VLINE/HBAR/SCATTER/… là dạng đồ thị. Chú ý rằng có hai dạng đồ thị chính là rời rạc và liên tục. Chỉ các đồ thị cùng dạng mới có thể kết hợp với nhau.

    • Đồ thì rời rạc bắt đầu bằng VBAR VALUE1/RESPONSE=VALUE2
    • Đồ thị liên tục bắt đầu bằng SCATTER X=VALUE1 Y= VALUE2
  • OPTION1/OPTION2: các tùy chọn về hình dạng của đồ thị: màu sắc, định dạng, format, …
  • TITLE Title của đồ thị.
  • XAXIS/X2AXIS/YAXIS/Y2AXIS các tùy chọn về các trục của đồ thị bao gồm: Label, thứ tự, …
  • WHERE các điều kiện lọc dữ liệu.

Đồ thị với dữ liệu rời rạc

Ví dụ vẽ đồ thị với các giá trị rời rạc:

PROC SQL NOPRINT;
	CREATE TABLE TEMP00 AS 
		SELECT MAKE, ORIGIN, COUNT(*) AS NUM, MEAN(INVOICE) AS  INVOICE, MEAN(MPG_CITY) AS MPG_CITY
			FROM SASHELP.CARS
				GROUP BY MAKE, ORIGIN
					HAVING (CALCULATED NUM)>10
						ORDER BY (CALCULATED INVOICE);
QUIT;

PROC SGPLOT DATA=TEMP00;
	VBAR MAKE/ RESPONSE=INVOICE NOOUTLINE  MISSING ;
	VLINE MAKE/ RESPONSE=MPG_CITY Y2AXIS LINEATTRS=(COLOR=CX9CBA5F PATTERN=SOLID THICKNESS=2PX)  
		MARKERATTRS=(SYMBOL=CIRCLEFILLED COLOR=CX9CBA5F) MARKERS MISSING;
	TITLE "Summary data by Make";
	Y2AXIS LABEL="Mean MPG City";
	YAXIS LABEL="Mean Invoice";
	XAXIS LABEL="Make" DISCRETEORDER=DATA;
	LABEL INVOICE="Mean Invoice" MPG_CITY="Mean MPG City";
RUN;

Kết quả nhận được như sau:

Ví dụ về sử dụng GROUP=

PROC SQL NOPRINT;
	CREATE TABLE TEMP00 AS 
		SELECT MAKE, ORIGIN, COUNT(*) AS NUM, MEAN(INVOICE) AS  INVOICE, MEAN(MPG_CITY) AS MPG_CITY
			FROM SASHELP.CARS
				GROUP BY MAKE, ORIGIN
					HAVING (CALCULATED NUM)>10
						ORDER BY ORIGIN, (CALCULATED INVOICE);
QUIT;

PROC SGPLOT DATA=TEMP00;
	VBAR MAKE/ RESPONSE=INVOICE GROUP=ORIGIN NOOUTLINE  MISSING ;
	VLINE MAKE/ RESPONSE=MPG_CITY GROUP=ORIGIN  Y2AXIS LINEATTRS=(COLOR=CX9CBA5F PATTERN=SOLID THICKNESS=2PX)  
		MARKERATTRS=(SYMBOL=CIRCLEFILLED COLOR=CX9CBA5F) MARKERS MISSING;
	TITLE "Summary data by Make";
	Y2AXIS LABEL="Mean MPG City";
	YAXIS LABEL="Mean Invoice";
	XAXIS LABEL="Make" DISCRETEORDER=DATA;
	LABEL INVOICE="Mean Invoice" MPG_CITY="Mean MPG City";
RUN;

Kết quả nhận được như sau:

Đồ thị với dữ liệu liên tục

DATA TEMP00;
	DO X=-50 TO 50;
		Y=X**3-10*X**2+20*X-2+10000*RAND('NORMAL', 0, 1);
		Y1=X**3-10*X**2+20*X-2;
		OUTPUT;
	END;
RUN;

PROC SGPLOT	DATA=TEMP00;
	SCATTER X=X Y=Y /MARKERATTRS=(SYMBOL=CIRCLE);
	SERIES X=X Y=Y1 / LINEATTRS=(COLOR=CXBE5150);
	TITLE "An example";
RUN;

Kết quả nhận được như sau:

Ví dụ khác với tùy chọn GROUP=:

DATA TEMP00;
	DO X=-50 TO 50;
		Y=X**3-10*X**2+20*X-2+10000*RAND('NORMAL', 0, 1);
		Y1=X**3-10*X**2+20*X-2;
		GROUP=IFC(Y>Y1, "Higer", "Lower");
		OUTPUT;
	END;
RUN;

PROC SGPLOT	DATA=TEMP00;
	SCATTER X=X Y=Y / GROUP=GROUP MARKERATTRS=(SYMBOL=CIRCLE);
	SERIES X=X Y=Y1 / GROUP=GROUP LINEATTRS=(COLOR=CX9CBA5F );
	TITLE "An example";
	YAXIS LABEL="Y-values";
	XAXIS LABEL="X-values";
RUN;

Kết quả nhận được như sau:

Đồ thị dạng khác

Để vẽ đồ thị phân phối của một biến, ta dùng cú pháp như sau:

PROC SGPLOT DATA=SASHELP.CLASS;
  HISTOGRAM HEIGHT;
  DENSITY HEIGHT;
  DENSITY HEIGHT / TYPE=KERNEL;
  TITLE "Histogram Plot";
RUN;

Kết quả nhận được như sau:

PROC SGPLOT DATA=SASHELP.CLASS;
  HISTOGRAM HEIGHT/ GROUP=SEX TRANSPARENCY=0.5;
  DENSITY HEIGHT;
  DENSITY HEIGHT / TYPE=KERNEL;
  TITLE "Histogram Plot with Group";
RUN;

Kết quả nhận được như sau:

Một số tuỳ chọn


Overview
Data Step
Data Aggregation
Data Visualization
Proc SQL
Variable Analysis
Macro
Model Regression
Variable Selection
Model Assessment