R ggplot: geom_tile Zeilen in PDF-Ausgabe

8

Ich baue ein Plot, das geom_tile benutzt und es dann in .pdf ausgibt (mit pdf ("filename", ...)). Wie auch immer, wenn ich das tue, hat das .pdf-Ergebnis winzige Linien (Streifen, wie eine Person es ausdrückt). Ich habe ein Bild angehängt, das das Problem zeigt.

Googeln lassen dieser Thread , aber der einzige wirkliche Rat in dort war zu versuchen vorbei Größe = 0 bis geom_tile, was ich ohne Effekt gemacht habe. Irgendwelche Vorschläge, wie ich diese beheben kann? Ich würde das gern als eine Figur in einem Papier verwenden, aber so wird es nicht funktionieren.

Minimaler Code:

%Vor%     
Winawer 23.04.2012, 07:50
quelle

4 Antworten

14

Dies passiert, weil der Standard colour der Kacheln in geom_tile weiß erscheint.

Um dies zu beheben, müssen Sie colour auf z wie fill zuordnen.

%Vor%

    
Andrie 23.04.2012, 08:01
quelle
6

Versuchen Sie, geom_raster :

zu verwenden %Vor%

gute Qualität in meiner Umgebung.

    
kohske 23.04.2012 08:00
quelle
0

Ich kann das Problem nicht auf meinem Computer (Windows 7) reproduzieren, aber ich erinnere mich, dass es ein Problem war, das in der Liste für bestimmte Konfigurationen diskutiert wurde. Brian Ripley (wenn ich mich erinnere) empfohlen

%Vor%

um dies zu umgehen

    
Dieter Menne 23.04.2012 09:13
quelle
0

Um diese Katze zu enthäuten und zu sehr ins Detail zu gehen, zerlegt dieser Code das R-Bild in ein Netz von Quads (wie von rgl verwendet) und zeigt dann den Unterschied zwischen einem Raster-Plot und einem "Kachel-" oder "Rect-" Plot.

%Vor%

Dies ist das traditionelle R 'Bild', das für jedes Pixel eine kleine Kachel oder 'rect ()' zeichnet.

%Vor%

Es ist langsam, und obwohl es die Quelle von 'rect ()' unter der Haube aufruft, können wir nicht auch die Rahmenfarbe einstellen. Verwenden Sie 'useRaster = TRUE', um 'rasterImage' für eine effizientere Zeichenzeit, Kontrolle über die Interpolation und letztendlich - Dateigröße zu verwenden.

Lassen Sie uns nun das Bild erneut zeichnen, indem Sie für jedes Pixel explizit rect aufrufen. ('quadmesh' ist wahrscheinlich nicht der einfachste Weg zu demonstrieren, es ist nur frisch in meinen Gedanken).

%Vor%

Versuchen Sie es erneut mit 'rect'.

%Vor%     
mdsumner 01.09.2016 14:17
quelle

Tags und Links