This is example13.c in view mode; [Download] [Up]
/* Demonstration program for PLPLOT: */ #include <stdio.h> #include <math.h> #define PI 3.141592654 static char *text[] = { "Howard", "Bobby", "Georgios", "Davendra" }; main() { int i, j; double dthet, theta0, theta1, theta, just, dx, dy; static FLOAT x[400], y[400], per[4]; per[0] = 10.; per[1] = 40.; per[2] = 15.; per[3] = 35.; /* Ask user to specify the output device */ plstar(1,1); plenv(0.,10.,0.,10.,1,-2); plcol(2); theta0 = 0.; dthet = 2*PI/400; for(i=0; i<=3; i++) { j = 0; x[j] = 5.; y[j++] = 5.; theta1 = theta0 + 2*PI*per[i]/100.; if(i==3) theta1 = 2*PI; for(theta = theta0; theta <=theta1; theta += dthet){ x[j] = 5 + 3*cos(theta); y[j++] = 5 + 3*sin(theta); } plcol(i+1); plpsty((i+3)%8+1); plfill(j,x,y); plcol(1); plline(j,x,y); just = (theta0+theta1)/2.; dx = .25*cos(just); dy = .25*sin(just); if(just < PI/2 || just > 3*PI/2) { just = 0.; } else { just = 1.; } plptex(x[j/2]+dx,y[j/2]+dy,1.,0.,just,text[i]); theta0 = theta-dthet; } plfont(2); plschr(0.,1.3); plptex(5.,9.,1.,0.,.5,"Percentage of Sales"); /* Don't forget to call PLEND to finish off! */ plend(); }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.