尝试将主题切换为theme_bw()不起作用,theme_grey()似乎已被确定优先级。有什么想法吗?ggplot(data=mpg,aes(y=year,x=cyl)) + geom_point() + theme_bw()编辑:如注释中所建议,这在干净的R会话中运行时有效。但是,当我在加载了ggtern的会话中实现代码时,就会出现问题。library(ggplot2)#Warning message:#package ‘ggplot2’ was built under R version 3.2.5ggplot(data=mpg,aes(y=year,x=cyl)) + geom_point() + theme_bw()# sessionInfo()# R version 3.2.2 (2015-08-14)# Platform: x86_64-w64-mingw32/x64 (64-bit)# Running under: Windows 8 x64 (build 9200)## locale:# [1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252# [3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C# [5] LC_TIME=English_United States.1252## attached base packages:# [1] stats graphics grDevices utils datasets methods base## other attached packages:# [1] ggplot2_2.1.0## loaded via a namespace (and not attached):# [1] labeling_0.3 colorspace_1.2-6 scales_0.4.0 plyr_1.8.3 tools_3.2.2 gtable_0.1.2# [7] Rcpp_0.12.2 grid_3.2.2 munsell_0.4.2library(ggtern)#Loading required package: ggplot2#Attaching package: ‘ggtern’#The following objects are masked from ‘package:ggplot2’: #aes, calc_element, ggplot, ggplot_build, ggplot_gtable, ggplotGrob, ggsave, is.ggplot, layer_data, #layer_grob, layer_scales, theme, theme_bw, theme_classic, theme_dark, theme_get, theme_gray, #theme_light, theme_linedraw, theme_minimal, theme_set, theme_void#Warning messages:#1: package ‘ggtern’ was built under R version 3.2.5#2: package ‘ggplot2’ was built under R version 3.2.5ggplot(data=mpg,aes(y=year,x=cyl)) + geom_point() + theme_bw()# sessionInfo()# R version 3.2.2 (2015-08-14)# Platform: x86_64-w64-mingw32/x64 (64-bit)# Running under: Windows 8 x64 (build 9200)## locale:# [1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252# [3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C# [5] LC_TIME=English_United States.1252## attached base packages:# [1] stats graphics grDevices utils datasets methods base## other attached packages:# [1] ggtern_2.1.1 ggplot2_2.1.0## loaded via a namespace (and not attached):# [1] Rcpp_0.12.2 lattice_0.20-33 MASS_7.3-45 grid_3.2.2 plyr_1.8.3# [6] bayesm_3.0-2 gtable_0.1.2 magrittr_1.5 scales_0.4.0 stringi_1.0-1# [11] compositions_1.40-1 robustbase_0.92-5 latex2exp_0.4.0 boot_1.3-17 labeling_0.3# [16] proto_0.3-10 tools_3.2.2 stringr_1.0.0 energy_1.6.2 DEoptimR_1.0-4# [21] munsell_0.4.2 colorspace_1.2-6 tensorA_0.36 gridExtra_2.0.0看起来ggtern掩盖了ggplot2的许多主题。 最佳答案 ggtern屏蔽了ggplot2中的每个默认主题,这是因为编写此软件时,已创建了约60个新的主题元素,为了使ggtern正确呈现,它们存在。有关新主题元素的完整列表,请运行以下命令:library(ggtern)?theme_elements综上所述,由于ggtern还修改了一些基本主题元素,因此我意识到了一些冲突,并且自2.1.2 - 2.1.3版本以来,我已经完全修改了主题,因此不再修改任何基本元素-希望这种烦人的行为现在已经消失了!我正在制作有关该包装的出版物,并且已经在完善许多许多长期困扰的内容,因此请从我的(Bitbucket Repository)下载并安装最新版本(ggtern)。令人尴尬的是,即使是CRAN上的最新2.1.4版本,当在2.1.3类型的情况下运行两个绘图时,我也发现了一个非常重要的错误。这是剪贴蒙版的问题,已经解决了grid.arrange但已发送给CRAN的问题,我计划立即进行。无论如何,要回答您的问题,请升级您的版本,您正在运行版本in 2.1.4,该版本是2.1.0中的巨大修订之后不久发布的版本-实际上,不久之前,以前的版本已被严重破坏,几乎需要重写ggplot2的全部内容,因此拥有完美的主题是我的首要任务。在最新版本中,由于我有时间细化和确定问题,因此应解决此问题-通过运行以下两(2)条命令(按此顺序,从一个干净的会话开始)演示了该命令,但以下命令除外标题上明显的不同,应产生相同的结果:library(ggplot2)ggplot(data=mpg,aes(y=year,x=cyl)) + geom_point() + theme_bw() + labs(title='From ggplot2')library(ggtern)ggplot(data=mpg,aes(y=year,x=cyl)) + geom_point() + theme_bw() + labs(title='From ggtern')如果我能说的话,这似乎有点题外话,但实际上,整个问题实际上源于与一件事情的几个程度的分离。 ggtern的设计没有裁剪蒙版,它使用网格视口本质上是一个伪裁剪蒙版,因为其所有图(极坐标变换除外)都绘制在矩形区域上。位于矩形区域之外的数据映射随后将被视口丢弃。另一方面,ggplot2需要一个,因为它需要在容纳在矩形视口中的三角形多边形区域内进行渲染-众所周知,“三角形不适合方孔”或俗话说!当减少轴限制时,数据映射可以并且经常确实位于三角形区域之外,并且这些数据映射需要删除或屏蔽(或者如果用户愿意,可以显示)。删除不是一种选择,因为它会影响某些图,例如多边形,路径,密度或轮廓图(我认为可能是点几何是唯一不受潜在影响的图),这仅留下一个选择-裁剪蒙版的实现。在某些早期版本中,未实现剪贴蒙版(有利于子集数据),因此需要修改基本主题元素。如果有的话,也许是最初的“差劲的设计”,在许多代之后流传到令人沮丧的行为。
08-24 15:20