I've got my plot looking pretty, but the fly in the ointment is the legend. When I connect the data points on my plot using interpol = join
, SAS puts a little dash on each symbol in the legend.
Without interpol = join
, the legend looks nice and clean.
Is there a simple way to remove the dashes from the legend while still connecting my data points?
data _nodes;
input
group $
treatment $ 10.
replicate $
mean
symbol_definition
;
datalines;
1 TreatmentX A 0.246 1
1 TreatmentX B 0.479 2
1 TreatmentX C 0.134 3
1 TreatmentX D 0.778 4
2 TreatmentY A 0.243 1
2 TreatmentY B 0.763 2
2 TreatmentY C 0.445 3
2 TreatmentY D 0.211 4
3 TreatmentZ A 0.231 1
3 TreatmentZ B 0.915 2
3 TreatmentZ C 0.654 3
3 TreatmentZ D 0.456 4
4 TreatmentW A 0.124 1
4 TreatmentW B 0.567 2
4 TreatmentW C 0.477 3
4 TreatmentW D 0.966 4
5 TreatmentV A 0.435 1
5 TreatmentV B 0.891 2
5 TreatmentV C 0.343 3
5 TreatmentV D 0.111 4
;
run;
goptions
reset = all
csymbol = black
;
symbol1
value = square
height = 2
interpol = join
line = 1
;
symbol2
value = triangle
height = 2
interpol = join
line = 1
;
symbol3
value = circle
height = 2
interpol = join
line = 1
;
symbol4
value = star
height = 2
interpol = join
line = 1
;
axis1
offset = (5,5)
label = (height = 2 'Group')
value = (height = 1.5)
;
axis2
value = (height = 1.5)
label = (height = 2 angle = 90 'Mean')
;
legend1
frame
cborder = black
label = (height = 1.5 'Replicate')
value = (height = 1.5 'A' 'B' 'C' 'D')
repeat = 1
shape = symbol(2, 2)
;
proc gplot data = _nodes;
plot mean*treatment = symbol_definition / legend = legend1
haxis = axis1
vaxis = axis2
;
run;
quit;
I don't know any simple way of doing this with gplot, but there is an appallingly convoluted workaround:
interpol=join
.