使用R创建图像不希望白色边框或标题仅显示PNG图像

时间:2018-03-23 01:43:47

标签: r

我使用下面的代码尝试创建仅作为图像但仍有一些文字和白色边框的PNG图像。

theplot <- data  %>% ggplot(mapping = aes(x,y)) +
geom_point(mapping = aes(color=z), alpha = alpha, size = 0.75) +
scale_color_gradient(low="green", high="blue") +
  theme_void() + theme(legend.position="none") + theme(axis.title = element_blank())

我也尝试了以下内容。

theplot <- data  %>% ggplot(mapping = aes(x,y)) +
geom_point(mapping = aes(color=z), alpha = alpha, size = 0.75) +
scale_color_gradient(low="green", high="blue") +
  theme_void() + theme(axis.line=element_blank(),
  axis.text.x=element_blank(),
  axis.text.y=element_blank(),
  axis.ticks=element_blank(),
  axis.title.x=element_blank(),
  axis.title.y=element_blank(),
  legend.position="none",
  panel.background=element_blank(),
  panel.border=element_blank(),
  panel.grid.major=element_blank(),
  panel.grid.minor=element_blank(),
  plot.background=element_blank())

我对R不是很熟悉,所以我不确定ggplot是否应该用来创建一个图像。

1 个答案:

答案 0 :(得分:0)

这样可以吗?

library(ggplot2)
library(ggthemes)

ggplot(mtcars, aes(mpg, wt)) + geom_point() + 
  theme(plot.margin=unit(c(0,0,0,0), unit="mm")) 
  + theme_fivethirtyeight()

ggsave("myplot.png")

enter image description here

可以看一下theme_fivethirtyeight的代码:

> theme_fivethirtyeight
function (base_size = 12, base_family = "sans") 
{
    (theme_foundation(base_size = base_size, base_family = base_family) + 
        theme(line = element_line(colour = "black"), rect = element_rect(fill = ggthemes_data$fivethirtyeight["ltgray"], 
            linetype = 0, colour = NA), text = element_text(colour = ggthemes_data$fivethirtyeight["dkgray"]), 
            axis.title = element_blank(), axis.text = element_text(), 
            axis.ticks = element_blank(), axis.line = element_blank(), 
            legend.background = element_rect(), legend.position = "bottom", 
            legend.direction = "horizontal", legend.box = "vertical", 
            panel.grid = element_line(colour = NULL), panel.grid.major = element_line(colour = ggthemes_data$fivethirtyeight["medgray"]), 
            panel.grid.minor = element_blank(), plot.title = element_text(hjust = 0, 
                size = rel(1.5), face = "bold"), plot.margin = unit(c(1, 
                1, 1, 1), "lines"), strip.background = element_rect()))
}

我必须说我不明白为什么这不适用于您的自定义主题。我没有看到重大的区别。