Как улучшить качество линейного графика, созданного с помощью ggplot - PullRequest
0 голосов
/ 24 мая 2019

Я хочу экспортировать свой график ggplot с хорошим разрешением, чтобы я мог отобразить его на постере.Тем не менее, линии выглядят довольно пиксельно.

Я пытался сохранить его в разных форматах, таких как eps, tiff, png, jpg с device.off и с ggsave.

# Create dataframe
timepoint=c("baseline", "baseline", "baseline", "baseline", 
        "nach briefing", "nach briefing", "nach briefing", "nach 
briefing",
        "session 4", "session 4", "session 4", "session 4")
expectation=c(9.661290, 14.57692, 12.41667, 14.35714, 10.20968, 14.30769, 
17.16667, 15.57143,  9.532258, 15.78846, 15.75000, 10.000000)
ci=c(0.436101, 0.79578, 1.41966, 1.23227, 0.51849, 0.91015, 0.97055, 
1.1511, 0.467372, 0.70027, 1.58264, 1.260921)
cluster=c(1,2,3,4,1,2,3,4,1,2,3,4)

df.graph <- data.frame(expectation, ci, timepoint, cluster)
df.graph$cluster <- factor(df.graph$cluster) # damit im Graph nach Farbe 
getrennt werden kann

# Create Graph
tiff("Cluster.tiff", units="cm", width=35, height=20, res=1200)
cluster <- ggplot(data=df.graph, aes(x=timepoint, y=expectation, 
group=cluster, colour=cluster)) +
          geom_line(size=1.2, position=position_dodge(0.06)) +
          geom_point(size=4.2, position=position_dodge(0.06), 
aes(shape=cluster)) +
          scale_shape_manual(values=c(15, 16, 17, 18)) + # change shape of point manually

          scale_size_manual(values=c(2,3,4, 10)) +
          geom_errorbar(aes(ymin=expectation-ci, ymax=expectation+ci), 
width=.3, linetype="solid", position=position_dodge(0.06)) + # pd damit CI-Balken etwas verschoben sind

          ylab("Treatment expectations (ETS)") +
          xlab("") +
          scale_y_continuous(limits = c(5, 20), breaks=seq(1, 20, 1)) +
          scale_x_discrete(labels=c("baseline", "after briefing", "after 
session 4")) +
          theme_classic(base_size = 26) +
          scale_colour_manual(values=c("#003f5c", "#bc5090", "#ff6361", 
"#ffa600")) +
          theme(legend.position=c("top"),
                legend.text = element_text(size=20, colour = "gray29", 
family ="Calibri"), 
                legend.key.size = unit(1.7, 'lines'),
                legend.title=element_blank(),
                panel.grid.major = element_blank(), # removes gridlines
                panel.grid.minor = element_blank(), 
                axis.line = element_line(colour = "black"),
                axis.title.y = element_text(colour = "gray29", family 
="Calibri", size=22),
                axis.text.x = element_text(colour = "gray29", size=18, 
family ="Calibri"), # Achesenbeschriftung x-Achse
                axis.text.y = element_text(colour = "gray29", size=18, 
family ="Calibri"),
                panel.background = element_rect(fill = "transparent", 
color = NA), # bg of the panel
                plot.background = element_rect(fill = "transparent", 
color = NA),
                legend.background = element_rect(fill = "transparent", 
size = 0),
                legend.key = element_rect(fill = 'transparent', color = 
NA)) # get rid of legend bg)
plot(cluster)
dev.off()

Я ожидаю хороших линий на моем графике. enter image description here

Я также попробовал это:

 ggsave("Cluster_Graph16.png", width = 35, height = 20, units = "cm", bg="transparent", dpi = 1200)
...