Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何创建要插入ggplot的对象(当有多个零件带有+;)时)?_R_Ggplot2 - Fatal编程技术网

R 如何创建要插入ggplot的对象(当有多个零件带有+;)时)?

R 如何创建要插入ggplot的对象(当有多个零件带有+;)时)?,r,ggplot2,R,Ggplot2,在我的分析工作中,我使用R中的ggplot生成多个图。我想将所需的绘图主题(使用ggtheme加上一些手动更改)设置为单个对象,然后在我生成的每个绘图中调用此主题。我在下面举了一个例子 由于我的主题对象的定义中存在+,此代码引发错误。ggplot函数将此符号识别为添加新元素,但在创建单独的主题对象以调用ggplot时,我无法使用此符号。显然,我可以将主主题转移到ggplot调用中,只需将手动更改保留在theme中,但为了简洁起见,我希望将整个内容放在一个对象中 #Load libraries l

在我的分析工作中,我使用
R
中的
ggplot
生成多个图。我想将所需的绘图主题(使用
ggtheme
加上一些手动更改)设置为单个对象,然后在我生成的每个绘图中调用此主题。我在下面举了一个例子

由于我的主题对象的定义中存在
+
,此代码引发错误。
ggplot
函数将此符号识别为添加新元素,但在创建单独的
主题
对象以调用
ggplot
时,我无法使用此符号。显然,我可以将主主题转移到
ggplot
调用中,只需将手动更改保留在
theme
中,但为了简洁起见,我希望将整个内容放在一个对象中

#Load libraries
library(ggplot2);
library(ggthemes);

#Create mock data for illustrative purposes
DATA <- data.frame(x = c(3,6,8,11,2,7,4,4,3,6),
                   y = c(12,8,8,4,15,10,9,13,11,6));

#Set theme for plots
THEME <- theme_economist() + scale_colour_economist() +
         theme(plot.title    = element_text(hjust = 0.5),
               plot.subtitle = element_text(hjust = 0.5, face = 'bold'),
               axis.title.y  = element_text(face = 'bold', size = 12),
               plot.margin        = margin(t = 0, r = 20, b = 0));

#Error: Don't know how to add RHS to a theme object

#Generate plot using above theme
FIGURE <- ggplot(data = DATA, aes(x = x, y = y)) +
          geom_point() + THEME;
FIGURE;
#加载库
图书馆(GG2);
图书馆(主题);
#为说明目的创建模拟数据

数据用
列表
包装主题调用,并用逗号替换+:

THEME <- list(theme_economist(), scale_colour_economist(),
         theme(plot.title    = element_text(hjust = 0.5),
               plot.subtitle = element_text(hjust = 0.5, face = 'bold'),
               axis.title.y  = element_text(face = 'bold', size = 12),
               plot.margin        = margin(t = 0, r = 20, b = 0)))

THEME你的帖子中有几个拼写错误。它应该是
库(ggplot2)
(而不是
库(ggplot)
)和
主题(plot.margin=…)
(而不是
主题(margin=…)
)。