I've googled, read, and searched high and low and I can't seem to find if anyone else has had this issue and how they fixed it.
I'm using v29, which is provided by my institution. I've made my graphs, they look perfect.
I've found that exporting as SVG confers the best quality when imported into word, the lines stay thin and crisp.
Everything was fine until I decided to use texture to cluster my data as I'm already using color so the reader can easily follow which group we're talking about.
Here's the code:
GGRAPH
/GRAPHDATASET NAME="graphdataset" VARIABLES=ProtocolID COUNT()[name="COUNT"] Phase ErrorTypes MISSING=LISTWISE REPORTMISSING=NO DATAFILTER=ErrorTypes(VALUES=0 1 2 3 4 5 UNLABELED=INCLUDE)
/GRAPHSPEC SOURCE=INLINE
/COLORCYCLE COLOR1(255,255,255), COLOR2(221,221,221), COLOR3(51,117,56), COLOR4(93,168,153), COLOR5(148,203,236), COLOR6(220,205,125), COLOR7(194,106,119), COLOR8(159,74,150), COLOR9(126,41,84), COLOR10(46,37,133)
/FRAME OUTER=NO INNER=NO
/GRIDLINES XAXIS=NO YAXIS=NO
/STYLE GRADIENT=NO.
BEGIN GPL
PAGE: begin(scale(620px,325px))
GUIDE: axis(dim(1), label("Protocols"))
GUIDE: axis(dim(2), label("Count of exoerunents with xx errors"))
GUIDE: legend(aesthetic(aesthetic.texture.pattern.interior), label("Phase"))
GUIDE: legend(aesthetic(aesthetic.color), null())
SCALE: cat(dim(1), include("1", "2", "3", "4", "5", "6", "7", "8", "9", "10"))
SCALE: linear(dim(2), include(0), max(30))
SCALE: cat(aesthetic(aesthetic.texture.pattern.interior), include("0", "1", "2"))
ELEMENT: interval.stack(position(ProtocolID*COUNT), texture.pattern.interior(Phase), shape.interior(shape.square),color(ProtocolID),transparency.interior(transparency.".5"),size(size."90%"))
PAGE: end()
END GPL.
Here's what it looks like (screenshot) in SPSS (in the output window AND the edit window, because it renders the textures differently...)