【问题标题】:How to change the color palette of a plot using R and par() command?如何使用 R 和 par() 命令更改绘图的调色板?
【发布时间】:2018-07-18 01:08:49
【问题描述】:

我正在为我的硕士论文使用glmtools 库,但是,默认的调色板并不美观。 glmtools::plot_temp 帮助中没有关于调色板的参数,只是说其他参数传递给par()。我尝试过更改调色板但没有成功。有什么帮助吗?

安装glmtools

  1. 安装devtools
  2. 加载devtools
  3. 运行devtools::install_github("GLEON/GLMr")
  4. 运行devtools::install_github("USGS-R/glmtools")
  5. 加载library(glmtools)

默认示例是:

sim_folder <- run_example_sim(verbose = FALSE)
nc_file <- file.path(sim_folder, 'output.nc')
plot_temp(file = nc_file, fig_path = FALSE)
plot_temp(file = nc_file, fig_path = 'test_figure.png', height = 3, reference = 'surface')

而可怕的结果是:

我想使用调色板terrain.colorsheat.colors

【问题讨论】:

  • @eipi10 我在plot_temp() 中尝试了您的建议color.palette = heat.colors,但是我收到以下消息:In par(mai = mai, omi = omi, ps = ps, mgp = mgp, ...) : "color.palette" is not a graphical parameter
  • 我的 cmets 太长了,我决定将它们添加为答案。不幸的是,我无法测试其他选项,因为我无法让 plot_temp 示例工作。我暂时保留我的答案,但如果结果不可行,我会删除它。
  • 好吧,在通过plot_temp调用的函数链之后,看起来filled.contour没有被调用。而是直接调用外部C 函数.filled.contourfilled.contour 也调用C 函数),绕过filled.contour。所以看起来可能没有办法传递color.palette 参数。我会删除我的答案。
  • 还有一件事要尝试:看看palette=heat.colors 是否有效。
  • 嗯,希望有人能提供一个可行的选项。如果做不到这一点,您可以查看plot_temp 的代码及其调用的函数,并对其进行调整以编写您自己的函数来绘制等高线图。

标签: r github plot color-palette par


【解决方案1】:

使用glmtools,我们有一些内部功能可以通过替代调色板,但还没有在绘图函数中公开。在github (0.14.8) 上查看最新版本。从可用于绘制温度的plot_var,您可以传入自己的调色板函数。这应该适用于您通过glmtools 包以热图形式绘制的任何变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多