Staram się uzyskać wizualnie akceptowalny gradient kolorów w R (zobacz here, aby uzyskać szczegółowy opis mojego konkretnego przypadku). Krótko mówiąc, problem polega na tym, że podczas wyświetlania w oknie R wygląda dobrze, pliki PDF pokazują cienkie, białe linie między segmentami używanymi do generowania gradientu.Gradienty kolorów w R w pliku PDF i bitmapie wyjściowym
n <- 100
cc <- colorRampPalette(c("red", "blue"))(n)
plot.new()
par(mar=rep(0,4))
sapply(1:n, function(i) rect((i-1)/n, 0, i/n, 1, col=cc[i], border=NA))
dev.copy2pdf(file="test.pdf")
Oto wynik:
Widać cienkie, białe linie. Ich pozycjonowanie zależy od zoomu, więc zakładam, że są one artefaktem sposobu wyświetlania pliku PDF. Tutaj to samo w innym zoom:
Niestety, te linie są również widoczne na wydruku. Domyślam się, że problem może wynikać z tego, w jaki sposób współrzędne w pliku PDF są zaokrąglane, gdy grafika wektorowa jest renderowana do bitmapy w celu wyświetlenia lub wydrukowania.
Możliwe rozwiązanie polega na użyciu segmentów, które nakładają się na siebie. Jest to dopuszczalne tylko w przypadku jednolitych kolorów; niestety, chciałbym również użyć przezroczystych kolorów w gradientach.
Co mogę zrobić, aby moje wyniki w formacie PDF były lepsze?
można ustawić kolor obramowania na zdrowy, jako segment 'border = cc [i]' – user20650
nie, ten sam problem z przezroczystością. Właściwie to próbowałem to wcześniej rozwiązać. Oto dlaczego to nie zadziałało: http://stackoverflow.com/questions/41088751/riverplot-package-in-r-output-plot-covered-in-gridlines-lub-outlines – January
Uruchomiłem twój kod, ale ja don nie widzisz białych linii. Ani w urządzeniu x11, ani w wyjściu pdf (Foxit pdf)! spróbuj z innymi aplikacjami pdf – Faridcher