# Rasterized density plot with vector axes

I'm wondering if there is an easy way to get the plot below exported in a small pdf?

The plot below is made in the following steps:

1. step 1: Create a streamplot
2. step 2: Create a densityplot, where the densityplot has to have a lot of samplingpoints in some cases !!
3. step 3: put the two of them together.

Now whenever I save this as a pdf-file it becomes huge due to the large amount of sampling points. So I've always saved it as a pdf-file.

Now I was wondering if it was possible to get this in a single (small !!) pdf-file? For as far as I understand I need to raster the density plot and put in the axes seperately. Now I've seen some answers regarding this for a list density plot, but it doesn't seem to work for a densityplot. Whenever I try to put the plotrangepadding to 0 weird things happen. Next to that I've also not been able to put the legend next to the plot after rasterization. Are there any hints on this ?

Code to reproduce the above example:

vx[x_, y_, d_] := -y*(1/((x - d)^2 + y^2) - 1/((x - 1/d)^2 + y^2)) +
y*(1/((x + d)^2 + y^2) - 1/((x + 1/d)^2 + y^2))

vy[x_, y_,d_] := (x - d)/((x - d)^2 + y^2) - (x - 1/d)/((x - 1/d)^2 +
y^2) - (x + d)/((x + d)^2 + y^2) + (x + 1/d)/((x + 1/d)^2 + y^2)

v[x_, y_, d_] := Sqrt[( 4 d^2 (-1 + d^2)^2 ((1 + x^2)^2 + 2 (-1 + x^2) y^2 +
y^4))/(((d - x)^2 + y^2) ((d + x)^2 + y^2) ((-1 + d x)^2 +
d^2 y^2) ((1 + d x)^2 + d^2 y^2))]

part1 =
StreamPlot[{vx[x, y, 0.6], vy[x, y, 0.6]}, {x, -2, 2}, {y, -1.4,
1.4}, ImageSize -> 650, PlotRangePadding -> None,
FrameStyle -> Black, BaseStyle -> FontSize -> 22,
PerformanceGoal -> "Quality", StreamStyle -> "PinDart",
StreamPoints -> Fine, StreamScale -> .15,
AspectRatio -> ((1.4 - (-1.4))/(2 - (-2)))]

legend =
BarLegend[{"SunsetColors", {0, 15}}, LegendFunction -> "Panel",
LegendLabel ->
"|\!$$\*OverscriptBox[\(v$$, $$\[RightVector]$$]\)|/(\[Kappa]/2\
\[Pi]R)", LabelStyle -> Directive[Bold, Black, 14],
LegendMargins -> 0, LegendMarkerSize -> 400]

part2 = DensityPlot[{v[x, y, 0.6]}, {x, -2, 2}, {y, -1.4, 1.4},
ImageSize -> 650, ColorFunction -> "SunsetColors",
PlotRangePadding -> None, FrameStyle -> Black,
BaseStyle -> FontSize -> 22, PerformanceGoal -> "Quality",
AspectRatio -> ((1.4 - (-1.4))/(2 - (-2))),
FrameLabel -> {"x/R", "y/R"},
PlotLabel ->
Style["The vortex-antivortex velocity field", Black, 30] ,
PlotRange -> {0, 15}, PlotPoints -> 200,
Epilog -> Style[Circle[{0, 0}, 1], {Thick, Dashed, White}],
PlotLegends -> Placed[legende, Right]]

plot = Show[part2, part1]

• – Rahul Jan 16 '15 at 16:34
• @Rahul, that's for contourplots, there my problem disappears with the fixpolygons. This is not the case for a density plot – Nick Jan 17 '15 at 14:38
• What are "fixpolygons"? Perhaps you missed the second part of the answer I linked to, which explicitly deals with a smooth density plot. – Rahul Jan 17 '15 at 15:02
• Great question, have you found an answer in newer versions? I have the same problem – AimForClarity Jan 29 '18 at 4:41
• @AimForClarity No, I actually just export the figure (without axes) as a (high quality) rastered figure and put a set of axes on top using TikZ. – Nick Jan 29 '18 at 13:17

plot = Rasterize[plot, RasterSize -> 1000, ImageSize -> 650,ImageResolution -> 1000];