I’ve lost quite a lot of time to figure our how to include different line styles on graphs with different colors, so it is suitable for black&white publications. After several switching from package to package I’ve decided to stick with Gadfly, and here is my solution, hope it helps.
I have 4 algorithms that I test on different problems and I want the plot to include graph for each algorithm. Sometimes I use only some of the algorithms and I do not want to change the code each time.
algs=[1,2,3,4] #the only line I change c=Scale.color_discrete_hue() #c.f(4) - vector of first 4 colors #for black&white: dash = 4 * Compose.mm dot = .5 * Compose.mm gap = 1 * Compose.mm lines=[,[dash],[dot],[dash,gap,dot,gap]] legend=["―― method1", "– – – method2", "‐‐‐‐‐ method3", "– ‐ – method4"] plot([layer(x=varx, y=vary, Geom.line, Theme(default_color=color(c.f(4)[a]),line_style=lines[a])) for a in algs]..., Guide.manual_color_key("Method",legend[algs],c.f(4)[algs]))
The result is below. The strings in legend get messed up when converted from SVG to PNG to upload here, maybe someone else knows how to fix that.