From: Bill McKirgan on 18 Feb 2010 15:58 I have a simple line graph, but have been asked to fill the area between the lines. This has me stumped. I have tried additional NEEDLE statements the seem close, but need something more along the idea of an AREA statement (which does not exist in PROC SGPLOT). The two lines graph the percentage of indivudials in two different cohorts across their age ranges. The age ranges intersect/cross at one point, and here the area filled between lines should change color. I'm not experienced in Graph and would appreciate help crafting a solution, or at least a nudge in the right direction. I've tried this in excel and am still stumped. Here is my sample code... proc sgplot data=foo; series x=age_range y=pct_tot_v_cohort /curvelabel='% of Total V in Cohort' lineattrs=(thickness=3 pattern=solid) ; series x=age_range y=pct_mhv_user_cohort /curvelabel='% of MHV users in Cohort' lineattrs=(thickness=3 pattern=solid) ; run; Thanks for any ideas. Bill
From: Bill McKirgan on 18 Feb 2010 16:07 On Feb 18, 2:58 pm, Bill McKirgan <bill.mckir...(a)gmail.com> wrote: > I have a simple line graph, but have been asked to fill the area > between the lines. > > This has me stumped. > > I have tried additional NEEDLE statements the seem close, but need > something more along the idea of an AREA statement (which does not > exist in PROC SGPLOT). > > The two lines graph the percentage of indivudials in two different > cohorts across their age ranges. > The age ranges intersect/cross at one point, and here the area filled > between lines should change color. > > I'm not experienced in Graph and would appreciate help crafting a > solution, or at least a nudge in the right direction. I've tried this > in excel and am still stumped. > > Here is my sample code... > > proc sgplot data=foo; > series x=age_range y=pct_tot_v_cohort > /curvelabel='% of Total V in Cohort' > lineattrs=(thickness=3 pattern=solid) > ; > series x=age_range y=pct_mhv_user_cohort > /curvelabel='% of MHV users in Cohort' > lineattrs=(thickness=3 pattern=solid) > ; > run; > > Thanks for any ideas. > Bill And here's a de-identified copy of the summary data I'm using: data foo; input age_range $ pct_tot_v_cohort pct_mhv_user_cohort ; format age_range $6. pct_tot_v_cohort percent. pct_mhv_user_cohort percent. ; cards; <20 .00 .00 20-24 .01 .00 25-29 .03 .01 30-34 .04 .01 35-39 .05 .02 40-44 .06 .04 45-49 .08 .06 50-54 .08 .09 55-59 .09 .16 60-64 .15 .29 65-69 .10 .15 70-74 .08 .08 75-79 .09 .06 80-84 .07 .03 85+ .06 .02 run;
From: Joe Whitehurst on 18 Feb 2010 16:44 Bill This can be easily done via the SAS/Graph Annotate facility. Here's an example of using annotate to fill many spaces between lines on my circumplex that I use to display the results of my Managerial Style Inventory. This particular example shows a plot of a Disgusting Managerial Style based on 24 actual protocols: %let z=45; %let x=50; %let y=50; %let style=Arial/bold; %annomac; filename grphout "e:\managerialstyle\profileplots\DisgustingManagerialStyle2.jpg"; goptions reset=all device=jpg gsfname=grphout targetdevice=win ftext="arial/bold" /*htext=2 */ border goutmode=append cback=CX8DBA44 rotate=portrait; data sasdata1.circumplex; %dclanno; x=&x; y=&y; z=&z; %system(5,5,5); %CIRCLE (x,y,z,red); %sequence(B); %slice(x,y,angle,360,45,red,s,0); %sequence(A); do angle=0 to 337.5 by 22.5; %slice(x,y,angle,360,27,yellow,s,0); end; %sequence(A); do i =24 to 361.5 by 22.5; a+1; %piexy(i,1.62); function="cntl2txt"; output; function="label"; text="Slice-"||left(i); if a=1 then do; angle=-67; text='Frenetically'; end; else if a=2 then do; angle=-44; text='Histrionic'; end; else if a=3 then do; angle=-20; text='Arrogant-'; end; else if a=4 then do; angle=0; text='Dictatorial'; end; else if a=5 then do; angle=25; text='Rivalrous-'; end; else if a=6 then do; angle=47; text='Paranoid-'; end; else if a=7 then do; angle=68; text='Icy-Cruel'; end; else if a=8 then do; angle=93; text='Rancorous-'; end; else if a=9 then do; angle=114; text='Escapistic'; end; else if a=10 then do; angle=138; text='Unresponsive'; end; else if a=11 then do; angle=158; text='Abasive-'; end; else if a=12 then do; angle=180; text='Subservient'; end; else if a=13 then do; angle=203; text='Ambitionless-'; end; else if a=14 then do; angle=222; text='Gullible-'; end; else if a=15 then do; angle=247; text='All Loving'; end; else if a=16 then do; angle=269; text='Devoted-'; end; rotate=0; color='Black'; position="5"; style="&style"; size=2.5; output; end; x=&x; y=&y; z=&z; a=0; do i =24 to 361.5 by 22.5; a+1; %piexy(i,.96); function="cntl2txt"; output; function="label"; if a=1 then do; angle=-70; text='Outgoing'; end; else if a=2 then do; angle=-42; text='Spontaneous'; end; else if a=3 then do; angle=-20; text='Confident'; end; else if a=4 then do; angle=2; text='Controlling'; *Dictatorial'; end; else if a=5 then do; angle=25; text='Critical'; end; else if a=6 then do; angle=49; text='Suspicious'; end; else if a=7 then do; angle=65; text='Cold'; end; else if a=8 then do; angle=90; text='Antagonistic'; end; else if a=9 then do; angle=111; text='Aloof'; end; else if a=10 then do; angle=136; text='Taciturn'; end; else if a=11 then do; angle=157; text='Self-Doubting'; end; else if a=12 then do; angle=180; text='Docile'; end; else if a=13 then do; angle=203; text='Respectiveful'; end; else if a=14 then do; angle=228; text='Trusting'; end; else if a=15 then do; angle=247; text='Warm'; end; else if a=16 then do; angle=269; text='Cooperative'; end; rotate=0; color='Black'; position="5"; style="&style"; size=2; output; end; x=&x; y=&y; z=&z; /* do angle=0 to 337.5 by 22.5; %slice(x,y,angle,20,30,red,e,0); end; */ a=0; do i =24 to 361.5 by 22.5; a+1; %piexy(i,1.52); function="cntl2txt"; output; function="label"; if a=1 then do; angle=-67; text='Gregarious'; end; else if a=2 then do; angle=-47; text=''; end; else if a=3 then do; angle=-20; text='Rigidly'; end; else if a=4 then do; angle=0; text=''; end; else if a=5 then do; angle=25; text='Disdainful'; end; else if a=6 then do; angle=47; text='Vindictive'; end; else if a=7 then do; angle=65; text=''; end; else if a=8 then do; angle=90; text='Sadistic'; end; else if a=9 then do; angle=111; text=''; end; else if a=10 then do; angle=136; text=''; end; else if a=11 then do; angle=157; text='Helpless'; end; else if a=12 then do; angle=180; text=''; end; else if a=13 then do; angle=203; text='Flattering'; end; else if a=14 then do; angle=222; text='Merciful'; end; else if a=15 then do; angle=247; text='Absolving'; end; else if a=16 then do; angle=269; text='Indulgent'; end; rotate=0; position="5"; color='Black'; style="&style"; size=2.5; output; end; x=&x; y=&y; z=&z; a=0; a=0; do i =24 to 361.5 by 22.5; a+1; %piexy(i,1.42); function="cntl2txt"; output; function="label"; if a=1 then do; angle=-67; text=''; end; else if a=2 then do; angle=-47; text=''; end; else if a=3 then do; angle=-20; text='Automonous'; end; else if a=4 then do; angle=0; text=''; end; else if a=5 then do; angle=25; text=''; end; else if a=6 then do; angle=47; text=''; end; else if a=7 then do; angle=65; text=''; end; else if a=8 then do; angle=90; text=''; end; else if a=9 then do; angle=111; text=''; end; else if a=10 then do; angle=136; text=''; end; else if a=11 then do; angle=157; text=''; end; else if a=12 then do; angle=180; text=''; end; else if a=13 then do; angle=203; text=''; end; else if a=14 then do; angle=222; text=''; end; else if a=15 then do; angle=247; text=''; end; else if a=16 then do; angle=269; text=''; end; rotate=0; position="5"; color='Black'; style="&style"; size=2.5; output; end; x=&x; y=&y; z=&z; a=0; do i =24 to 361.5 by 22.5; a+1; %piexy(i,1.8); function="cntl2txt"; output; function="label"; if a=1 then do; angle=-67; text='N2'; end; else if a=2 then do; angle=-47; text='O2'; end; else if a=3 then do; angle=-26; text='P2'; end; else if a=4 then do; angle=0; text='A2'; end; else if a=5 then do; angle=21; text='B2'; end; else if a=6 then do; angle=42; text='C2'; end; else if a=7 then do; angle=65; text='D2'; end; else if a=8 then do; angle=90; text='E2'; end; else if a=9 then do; angle=111; text='F2'; end; else if a=10 then do; angle=136; text='G2'; end; else if a=11 then do; angle=157; text='H2'; end; else if a=12 then do; angle=180; text='I2'; end; else if a=13 then do; angle=203; text='J2'; end; else if a=14 then do; angle=222; text='K2'; end; else if a=15 then do; angle=247; text='L2'; end; else if a=16 then do; angle=269; text='M2'; end; rotate=0; position="5"; style="&style"; size=3; output; end; a=0; do i =24 to 361.5 by 22.5; a+1; %piexy(i,1.1); function="cntl2txt"; output; function="label"; if a=1 then do; angle=-67; text='N1'; end; else if a=2 then do; angle=-47; text='O1'; end; else if a=3 then do; angle=-26; text='P1'; end; else if a=4 then do; angle=0; text='A1'; end; else if a=5 then do; angle=21; text='B1'; end; else if a=6 then do; angle=41; text='C1'; end; else if a=7 then do; angle=65; text='D1'; end; else if a=8 then do; angle=90; text='E1'; end; else if a=9 then do; angle=111; text='F1'; end; else if a=10 then do; angle=136; text='G1'; end; else if a=11 then do; angle=157; text='H1'; end; else if a=12 then do; angle=180; text='I1'; end; else if a=13 then do; angle=203; text='J1'; end; else if a=14 then do; angle=222; text='K1'; end; else if a=15 then do; angle=247; text='L1'; end; else if a=16 then do; angle=269; text='M1'; end; rotate=0; position="5"; color='Black'; style="&style"; size=3; output; end; x=&x; y=&y; z=&z; %sequence(A); do angle=0 to 337.5 by 22.5; %slice(x,y,angle,360,15,green,s,0); end; a=0; %sequence(A); do i =24 to 361.5 by 22.5; a+1; %piexy(i,1.2); function="cntl2txt"; output; function="label"; if a=1 then do; angle=-67; text='N'; end; else if a=2 then do; angle=-47; text='O'; end; else if a=3 then do; angle=-26; text='P'; end; else if a=4 then do; angle=0; text='A'; end; else if a=5 then do; angle=21; text='B'; end; else if a=6 then do; angle=41; text='C'; end; else if a=7 then do; angle=65; text='D'; end; else if a=8 then do; angle=90; text='E'; end; else if a=9 then do; angle=111; text='F'; end; else if a=10 then do; angle=136; text='G'; end; else if a=11 then do; angle=157; text='H'; end; else if a=12 then do; angle=180; text='I'; end; else if a=13 then do; angle=203; text='J'; end; else if a=14 then do; angle=222; text='K'; end; else if a=15 then do; angle=247; text='L'; end; else if a=16 then do; angle=269; text='M'; end; rotate=0; position="5"; color='Black'; style="&style"; size=3; output; end; a=0; do i =24 to 361.5 by 22.5; a+1; %piexy(i,.99); function="cntl2txt"; output; function="label"; if a=1 then do; angle=30; text='Sociable'; position="A"; end; else if a=2 then do; angle=410; text='Exibitionistic'; position="A"; end; else if a=3 then do; angle=440; text='Assured'; position="A"; end; else if a=4 then do; angle=90; text='Dominant'; position="4"; end; else if a=5 then do; angle=290; text='Competitive'; position="6"; end; else if a=6 then do; angle=310; text='Mistrusting'; position="6"; end; else if a=7 then do; angle=330; text='Cold'; position="6"; end; else if a=8 then do; angle=360; text='Hostile'; position="6"; end; else if a=9 then do; angle=385; text='Detached'; position="6"; end; else if a=10 then do; angle=400; text='Inhibited'; position="6"; end; else if a=11 then do; angle=430; text='Unassured'; position="6"; end; else if a=12 then do; angle=270; text='Submissive'; position="A"; end; else if a=13 then do; angle=300; text='Deferent'; position="A"; end; else if a=14 then do; angle=330; text='Trusting'; position="A"; end; else if a=15 then do; angle=360; text='Warm'; position="A"; end; else if a=16 then do; angle=360; text='Friendly'; position="A"; end; if 5=<a=<11 then do; angle=i+180; position="C"; end; else do; angle=i; position="A"; end; rotate=0; color='Black'; style="&style"; size=2; output; end; a=0; do i=24 to 361.5 by 22.5; a+1; if a=1 then do; %piexy(i,2.8); %cntl2txt; end; if a=2 then do; %piexy(i,2.6); %cntl2txt; end; if a=3 then do; %piexy(i,2.9); %cntl2txt; end; if a=4 then do; %piexy(i,3); %cntl2txt; end; else if a=5 then do; %piexy(i,2.6); %cntl2txt; end; else if a=6 then do; %piexy(i,2.7); %cntl2txt; end; else if a=7 then do; %piexy(i,2.8); %cntl2txt; end; else if a=8 then do; %piexy(i,2.9); %cntl2txt; end; else if a=9 then do; %piexy(i,2.1); %cntl2txt; end; else if a=10 then do; %piexy(i,2.3); %cntl2txt; end; else if a=11 then do; %piexy(i,1.9); %cntl2txt; end; else if a=12 then do; %piexy(i,.3); %cntl2txt; end; else if a=13 then do; %piexy(i,.5); %cntl2txt; end; else if a=14 then do; %piexy(i,.5); %cntl2txt; end; else if a=15 then do; %piexy(i,.5); %cntl2txt; end; else if a=16 then do; %piexy(i,.3); %cntl2txt; end; when='A'; position="5"; function='label'; size=2; style='Marker'; text='P'; output; when='B'; function='txt2cntl'; %push; end; a=0; /* do i=24 to 361.5 by 22.5; a+1; %pop; if a=1 then do; color='Blue'; function='poly'; size=1; style='m1x45'; line=1; output; end; else do; function='polycont'; color='blue'; output; end; end; */ run; proc ganno anno=sasdata1.circumplex gout=gcat1.wmstyle1;run; /* Managerial Style Pole Descriptions A:DOMINANT A1:CONTROLLING-BOLD. This person (a) is eager to take charge of things, often leads conversations, and tells others what to do; (b) pushes hard to get his or her own way, and talks others into doing what he or she wants; (c) is quick to inform or instruct others, to persuade others to his or her viewpoint, and readily offers advice or opinions; (d) finds it easy to stand up to others, to resist opposing stances, and struggles against others' taking charge; and (e) impresses others as being decisive, forceful, and persuasive. A2:DICTATORIAL-AUDACIOUS. This person (a) constantly bosses others around, abruptly interrupts others, "barks out" orders, and can't stop dominating others; (b) insists that others do his or her bidding, and seems unable to stop "steamrolling" others; (c) lectures others continually, and dogmatizes regarding his or her viewpoints; (d) fights to the finish for his or her views, refuses to bend or yield; and forcefully resists anyone telling him or her what to do; and (e) strikes others as being audacious, dictatorial, and overbearing. B:COMPETITIVE B1:AMBITIOUS-CONTENDING. This person a) works hard on the job at hand, is persistent when first efforts fail, takes on and initiates new projects, and energetically produces and achieves; (b) seeks success and admiration, and is single-minded in pursuing prestige or money; (c) gets others to work toward his or her goals, is adroit at taking credit, and downplays or ignores others' contributions; (d) is eager to take on challenges, and pushes determinedly to win; and (e) impresses others as being aspiring, industrious, and persistent. B2:DRIVEN-RIVALROUS. This person (a) relentlessly pursues the job at hand, can't seem to stop working, doggedly attacks all obstacles, continually plans and initiates new projects, and seems driven to produce and achieve at all costs; (b) lusts after success, prestige, or money; (c) exploits others for personal gain, seizes credit from others, and demands others' contributions; (d) bitterly competes with others, and is single-minded in winning at all costs; and (e) strikes others as being daringly shrewd, driven, and workaholic. C:MISTRUSTING C1:SUSPICIOUS-RESENTFUL. This person (a) doubts others' good intentions, is careful to watch others for harmful intent, often checks up on others, seeks hidden reasons and readily distrusts helpful acts; (b) prefers to conceal his or her own intentions, and frequently evades inquiries about own plans or goals; (c) is quick to claim that he or she is being judged unfairly; (d) tends to accuse others of prying, and finds it difficult to forgive injuries; and (e) impresses others as being calculating, evasive, and untrusting. C2:PARANOID-VINDICTIVE. This person (a) sees personal danger everywhere, seems driven to expose others' selfish motives, distrusts any helpful action, doubts everyone's loyalty, constantly tests others, and often spies on others; (b) seems compelled to conceal and evade, denounces others for blaming him or her unjustly; (d) reproaches others for plotting against him or her, accuses others of persecuting him or her, and seems unable to forgive even minor injuries or insult; and (e) strikes others as being deceitful, superwary, and vindictive. D:COLD D1:CRITICAL-PUNITIVE. This person (a) is quick to find fault with others, and to judge others strictly; (b) regularly expects best efforts from others, insists on firm discipline, lays down prohibitions, expects exact compliance to rules, and finds it hard to accept excuses; (c) sets tough conditions for his or her acceptance of others, is careful to withhold warmth and approval, and seldom bestows praise; and (d) impresses others as being hardhearted, strict, and unfeeling. D2:CENSORIOUS-DAMNING. This person (a) judges others harshly and severely, can't seem to stop finding fault, and finds it impossible to ever "bend" his or her standards in judging others' conduct; (b) demands absolute compliance to rules, insists on severe discipline and punishment, condemns others for transgressions, requires that retribution be made, and disdains any excuses; (c) seems incapable of showing acceptance, spurns any show of warmth, and seems incapable of praising anyone; and (d) strikes others as being callous, cold-hearted, and ruthless. E:HOSTILE E1:ANTAGONISTIC-HARMFUL. This person (a) frequently is discourteous, often seems to ignore others' feelings, and is quick to take what he or she wants; (b) often complains and quarrels, tends to dispute others' statements, and finds it easy to tell others off; (c) prefers to resist cooperation, to refuse requests from others, and readily obstructs others' activities; (d) seems eager to provoke others, and to annoy and insult them; and (e) impresses others as being irritable, oppositional, and rude. E2:RANCOROUS-SADISTIC. This person (a) continually violates others' rights, and ruthlessly attacks and assaults others; (b) blatantly defies others, rancorously disputes with them, and rudely screams at and berates others; (c) constantly rebels against directives, belligerently refuses requests for help, and aggressively thwarts others' activities; (d) ridicules and scorns others, seems determined to torment and abuse them, and revels in hurting others; and (e) strikes others as being rebellious, vicious, and vulgar. F:DETACHED F1:ALOOF-INDIFFERENT. This person (a) can be expected to disregard others ' presence, and to be engrossed in his or her own thoughts; (b) seldom initiates conversation, is slow to speak or respond, and often replies tersely; (c) prefers to remain distant from others, is quick to turn down invitations, and seeks solitary activities; (d) finds it easy to keep things to himself or herself, shuns inquiring into others' affairs, and is careful to guard his or her privacy; and (e) impresses others as being detached, indifferent, and reserved. F2:ESCAPISTIC-UNRESPONSIVE. This person (a) can be counted on to ignore others' presence, remains totally unresponsive, and is constantly lost in his or her own thoughts; (b) refuses to speak or respond, and appears compulsively uncommunicative; (c) avoids others "like the plague," doggedly ignores all social overtures, and becomes totally reclusive; (d) resists intrusions into his or her privacy, is totally disinterested when around others, and relentlessly stays in his or her own private world; and (e) strikes others as being disengaged, hermetic, and mute. G:INHIBITED G1:RESTRAINED-CEREBRAL. This person (a) is careful to withhold clear expressions of his or her views, often equivocates, and can be expected to express indecisive viewpoints; (b) tries to deliberate carefully before speaking, and frequently appears reflective; (c) prefers to be serious and rational, attempts to use words precisely, often seems to preface and qualify his or her statements, and works hard at controlling emotional expressions; (d) easily gets "bogged down" with indecision, and is quick to procrastinate; and (e) impresses others as being cerebral, controlled, and indecisive. G2:CONSTRAINED-RUMINATIVE. This person (a) continually qualifies and hedges on his or her statements, seems to express ambiguous positions on everything, and can't seem to stop vacillating; (b) incessantly ruminates, and is regularly distracted by his or her own endless deliberations; (c) seems driven to be serious and rational at all times, compulsively considers all aspects of a topic, scrupulously weighs his or her choice of words, and seems capable of "snuffing out" any expression of feeling; (d) seems captively indecisive, and endlessly delays decision or action; and (e) strikes others as being always irresolute, constantly ruminative, and constrained. H:UNASSURED H1:SELF DOUBTING-DEPENDENT. This person (a) prefers to stay in the background, and is careful to avoid the "limelight"; (b) often speaks haltingly, readily rattles, and can be expected to embarrass easily; (c) finds it easy to doubt and downplay his or her own abilities, is quick to criticize self, and apologizes frequently; (d) is adroit at relying on others for support, often seems to depend on others, and tends to act "needy"; and (e) impresses mothers as being apologetic, humble, and inconspicuous. H2:ABASIVE-HELPLESS. This person (a) scrupulously avoids any conspicuous statement or action, and regularly hides or flees from notice; (b) seems continually nervous around people, constantly fumbles his or her words, and comes across as totally inept; (c) continually blames himself or herself, can't seem to stop putting himself or herself down, frequently reproaches and castigates self, and seems to apologize for everything; (d) seems driven to depend on others, and is quick to plead for help; and (e) strikes others as being ashamed of self, self-punishing, and totally inept. I:SUBMISSIVE I1:DOCILE-TIMID. This person (a) is quick to take direction from others, to follow their lead, and is comfortable in letting others direct conversations; (b) states his or her preferences hesitantly, easily gives in to others' wishes, and backs down quickly; (c) often seeks directives from others, eagerly adopts others' opinions, and readily accepts advice; (d) is quick to agree with others, and to yield to others' viewpoints; and (e) impresses others as being malleable, passive, and timid. I2:SUBSERVIENT-SPINELESS. This person (a) is easily led around "by the nose," bows and scrapes around others, and constantly caters to those in charge; (b) can be talked into doing almost anything, spinelessly knuckles under to others' wishes, and seems incapable of standing up to others; (c) regularly seeks directives from others, and endlessly asks permission; (d) sheepishly capitulates to others' views, finds it impossible to talk back, and will agree with almost anything; and (e) strikes others as being cowardly, servile, and spineless. J:SHIRKING J1:CONTENT-LACKADAISICAL. This person (a) does just what is necessary, is quick to give up if first efforts fail, is slow to take on responsibility, needs frequent supervision, and seems hesitant to produce or achieve; (b) appears satisfied with his or her present position or status; (c) admires others' achievements, finds it easy to give credit to others, and is eager to compliment others' successes; (d) is careful to avoid challenges, and resists putting self "on the line"; and (e) impresses others as being complimentary, indolent, and unproductive. J2:AMBITIONLESS-LAZY. This person (a) complacently lets others do the work, seems incapable of doing anything for self, mostly doesn't even try, requires constant supervision, hides or flees from responsibility, avoids new projects "like the plague," and seems totally disinterested in producing or achieving; (b) couldn't care less about success or prestige; (c) flatters and fawns upon others, and endlessly "butters up" others; (d) adroitly dodges any challenge; and (e) strikes others as being fawning, irresponsible, and lazy. K:TRUSTING K1:TRUSTING-FORGIVING. This person (a) is unguarded around others, prefers to believe that others have good intentions, finds it easy to trust others, is quick to rely on others' claims, and tends to be taken advantage of by others; (b) readily confides in others, and candidly reveals own intentions and plans; (c) is comfortable in admitting that others are justified when they blame him or her; (d) is slow to accuse others of harmful intent, easily overlooks insults and injuries, and is quick to accept apologies; and (e) impresses others as being candid, naive, and unsuspecting. K2:GULLIBLE-MERCIFUL. This person (a) seems oblivious to personal harm, implicitly trusts everyone, believes few persons harm others intentionally, credits everyone with good intentions, and is unbelievably gullible and an"easy mark"; (b) is improbably candid, and will divulge almost anything; (c) goes out of his or her way to exonerate others, and can't stop speaking favorably of everyone; (d) can be counted on to forgive anything, and regularly accepts any apology; and (e) strikes others as being guileless, gullible, and heedless. L:WARM L1:APPROVING-PARDONING. This person (a) finds it hard to judge others, demands little of others, and treats others leniently; (b) prefers to impose easy discipline, readily excuses transgressions, and finds it difficult to correct others; (c) finds it easy to express warmth and approval, is quick to accept others, is eager to understand others' problems, to support their good efforts, and is adroit at finding others' good qualities; and (d) impresses others as being affectionate, soft-hearted, and sympathetic. L2:ALL LOVING-ABSOLVING. This person (a) indulges others with lenience, and finds it impossible to judge others; (b) seems totally lax in discipline, can't bring himself or herself to lay down prohibitions, and seems capable of excusing anything; (c) is effusively warm and accepting, finds it easy to accept others unconditionally, is devotedly caring and understanding, goes out of his or her way to praise any good effort, regularly finds something to like in everyone, and seems unable to disapprove of anyone; and (d) strikes others as being all-loving, always lenient, and oversympathetic. M:FRIENDLY M1:COOPERATIVE-HELPFUL. This person (a) tries hard to be thoughtful of others, and is careful to respect others' rights; (b) can be expected to speak softly and tactfully, finds it easy to remain patient with irritations, works to smooth over disagreements, and is difficult to rile; (c) cooperates easily, is ready to do his or her part, and seems eager to accede to requests from others; (d) seeks to comfort others, and is quick to offer help; and (e) impresses others as being courteous, pleasant, and supportive. M2:PLACATING-INDULGENT. This person (a) scrupulously considers others' feelings first, and goes out of his or her way to respect others' rights; (b) is soft-spoken no matter the provocation, seems incapable of complaining or griping, can be counted on to defuse tense situations, and seems impossible to rile; (c) constantly does more than his or her part, and can't seem to stop accommodating others; (d) compulsively spends energy doing for others, regularly self-sacrifices for others, and indulges and dotes on o hers; and (e) strikes others as being overcivil, selfless, and always succorant. N:SOCIABLE N1:OUTGOING-RESPONSIVE. This person (a) is quick to notice and acknowledge others, eagerly initiates contact with others, and seeks to make others feel welcome; (b) is comfortable at initiating conversations, and chats easily with others; (c) is eager to seek others' company, to invite others to participate in activities, attempts to mix widely, and enjoys being with others; (d) is adroit at inquiring into others' activities, and is ready to relate his or her own experiences; and (e) impresses others as being approachable, interested, and neighborly. N2:MONOPHOBIC-INTRUSIVE. This person (a) goes out of his or her way to greet and chat with others, seems driven to seek others' company, and can't seem to tolerate being alone; (b) is continually initiating conversations, and seems always to be talking to someone; (c) is constantly participating in social activities, regularly invites others to share his or her activities, and parties endlessly; (d) incessantly pries and "noses" into others' business, can't seem to stop broadcasting his or her own experiences, and finds it impossible to stop gossiping; and (e) strikes others as being always available, intrusive, and monophobic. O:EXHIBITIONISTIC O1:SPONTANEOUS-DEMONSTRATIVE: This person (a) finds it easy to express his or her viewpoints, and to take clear stands on issues; (b) often seems to talk on and on, and his or her statements frequently just "pop out"; (c) is adroit at embellishing stories, can be expected to exaggerate and dramatize, is comfortable making "loaded" statements, readily drops in startling comments, and his or her conversation regularly is emotionally charged; (d) tends to make hasty decisions, and is quick to jump into action; and (e) impresses others as being dramatic, perky, and uninhibited. O2:IMPULSIVE:HISTRIONIC. This person (a) can't seem to stop blurting out his or her viewpoints, and constantly takes extreme stands; (b) seems compelled to monopolize conversations, and blithely bolts from one topic to another; (c) unabashedly exaggerates, seems driven to dramatize, wears feelings on his or her sleeve, endlessly embellishes stories, and can't resist making startling statements; (d) seems constantly excitable and impetuous, and is impulsive to a fault; and (e) strikes others as being flamboyant, melodramatic, and unbridled. P:ASSURED P1:CONFIDENT-SELF RELIANT. This person (a) is eager to be noticed, is quick to speak or act pretentiously, and often acts forwardly in public; (b) is adroit at remaining composed and unruffled, and expresses his or her views confidently; (c) finds it easy to turn conversation to his or her own activities, to comment on his or her own accomplishments, often seems satisfied with himself or herself, and finds it difficult to apologize to others; (d) can be expected to rely on himself or herself, and shuns asking others for help; and (e) impresses others as being forward, independent, and proud. P2:ARROGANT-SELF CONTAINED. This person (a) usurps the center of attention, is presumptuously forward, and seems constantly to "put on airs"; (b) can't resist speaking or acting brazenly or cockily, and seems impossible to embarrass; (c) is inordinately enamored of self, appears incapable of self-criticism, can't seem to stop bragging and boasting, and seems enthralled with his or her own words; (d) seems driven to rely totally on himself or herself, and can't bring self to ask for help with anything; and (e) strikes others as being cocky and pushy, egotistical, and selfcontained. */ On Thu, Feb 18, 2010 at 4:07 PM, Bill McKirgan <bill.mckirgan(a)gmail.com>wrote: > On Feb 18, 2:58 pm, Bill McKirgan <bill.mckir...(a)gmail.com> wrote: > > I have a simple line graph, but have been asked to fill the area > > between the lines. > > > > This has me stumped. > > > > I have tried additional NEEDLE statements the seem close, but need > > something more along the idea of an AREA statement (which does not > > exist in PROC SGPLOT). > > > > The two lines graph the percentage of indivudials in two different > > cohorts across their age ranges. > > The age ranges intersect/cross at one point, and here the area filled > > between lines should change color. > > > > I'm not experienced in Graph and would appreciate help crafting a > > solution, or at least a nudge in the right direction. I've tried this > > in excel and am still stumped. > > > > Here is my sample code... > > > > proc sgplot data=foo; > > series x=age_range y=pct_tot_v_cohort > > /curvelabel='% of Total V in Cohort' > > lineattrs=(thickness=3 pattern=solid) > > ; > > series x=age_range y=pct_mhv_user_cohort > > /curvelabel='% of MHV users in Cohort' > > lineattrs=(thickness=3 pattern=solid) > > ; > > run; > > > > Thanks for any ideas. > > Bill > > And here's a de-identified copy of the summary data I'm using: > > > data foo; > input > age_range $ > pct_tot_v_cohort > pct_mhv_user_cohort > ; > format > age_range $6. > pct_tot_v_cohort percent. > pct_mhv_user_cohort percent. > ; > cards; > <20 .00 .00 > 20-24 .01 .00 > 25-29 .03 .01 > 30-34 .04 .01 > 35-39 .05 .02 > 40-44 .06 .04 > 45-49 .08 .06 > 50-54 .08 .09 > 55-59 .09 .16 > 60-64 .15 .29 > 65-69 .10 .15 > 70-74 .08 .08 > 75-79 .09 .06 > 80-84 .07 .03 > 85+ .06 .02 > run; >
From: Arthur Tabachneck on 18 Feb 2010 19:03 Bill, Since you mentioned that you weren't able to figure out how to do it with either Excel, or SGPLOT, and I don't have 9.2 (thus don't have sgplot), here is a page you might find interesting on how to do it with Excel: http://peltiertech.com/Excel/Charts/XYAreaChart2.html HTH, Art --------- On Thu, 18 Feb 2010 13:07:43 -0800, Bill McKirgan <bill.mckirgan(a)GMAIL.COM> wrote: >On Feb 18, 2:58 pm, Bill McKirgan <bill.mckir...(a)gmail.com> wrote: >> I have a simple line graph, but have been asked to fill the area >> between the lines. >> >> This has me stumped. >> >> I have tried additional NEEDLE statements the seem close, but need >> something more along the idea of an AREA statement (which does not >> exist in PROC SGPLOT). >> >> The two lines graph the percentage of indivudials in two different >> cohorts across their age ranges. >> The age ranges intersect/cross at one point, and here the area filled >> between lines should change color. >> >> I'm not experienced in Graph and would appreciate help crafting a >> solution, or at least a nudge in the right direction. I've tried this >> in excel and am still stumped. >> >> Here is my sample code... >> >> proc sgplot data=foo; >> series x=age_range y=pct_tot_v_cohort >> /curvelabel='% of Total V in Cohort' >> lineattrs=(thickness=3 pattern=solid) >> ; >> series x=age_range y=pct_mhv_user_cohort >> /curvelabel='% of MHV users in Cohort' >> lineattrs=(thickness=3 pattern=solid) >> ; >> run; >> >> Thanks for any ideas. >> Bill > >And here's a de-identified copy of the summary data I'm using: > > >data foo; >input >age_range $ >pct_tot_v_cohort >pct_mhv_user_cohort >; >format >age_range $6. >pct_tot_v_cohort percent. >pct_mhv_user_cohort percent. >; >cards; ><20 .00 .00 >20-24 .01 .00 >25-29 .03 .01 >30-34 .04 .01 >35-39 .05 .02 >40-44 .06 .04 >45-49 .08 .06 >50-54 .08 .09 >55-59 .09 .16 >60-64 .15 .29 >65-69 .10 .15 >70-74 .08 .08 >75-79 .09 .06 >80-84 .07 .03 >85+ .06 .02 >run;
From: Bill McKirgan on 19 Feb 2010 08:59 Art and Joe, Thank you both for the help. I think I will try to do this in Excel, but Joe your suggestion to use annotate datasets is something I will study and try to learn how to do for future graph problems. Thank you! Bill
|
Next
|
Last
Pages: 1 2 3 Prev: put the space in data step Next: Interesting post about SAS and the Pharmaceutical Industry on |