首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的中轴参数、位置和名称被应用到主轴上?

为什么我的中轴参数、位置和名称被应用到主轴上?
EN

Stack Overflow用户
提问于 2018-08-08 02:00:44
回答 1查看 341关注 0票数 1

我最近更新了一个月前用ggplot2制作的有两个y轴的图表。第二轴是将主轴转换为不同的单位,以便与文献进行比较。

现在,可能在最近的更新之后,一些次轴参数正在干扰主轴。我自己的图表相对比较复杂,但是使用iris数据集可以通过下面的示例产生同样的问题。

我将在这里提供代码来绘制框架,因为数据是不相关的。我试图包括图像,但似乎有一个严重的问题,SO的形象托管现在。

  1. 一个简单的图将y轴和标签放在左边,注意0-2之间的数据范围: (虹膜,aes(x=Sepal.Width,y= Petal.Width))
  2. 只将100添加到原始值的第二轴可以添加到右侧,如下所示: (x=Sepal.Width,y=Petal.Width)+ scale_y_continuous(sec.axis = sec_axis(~.+100))
  3. 如果将名称添加到第二个轴,则名称切换到左侧,替换主轴上的主轴标签: (虹膜,aes(x=Sepal.Width,y= Petal.Width)) + scale_y_continuous(sec.axis = sec_axis(~.+100),name =“伪中轴”)

这是一个问题,因为我现在的主轴上有一个不正确的标签和一个没有标签的中轴。如果我使用labs()显式地声明y轴标签并不重要,它同样会覆盖它。

  1. 我尝试使用position参数指定第二轴位于右侧,但这只与示例2相反。 (虹膜,aes(x=Sepal.Width,y= Petal.Width)) + scale_y_continuous(sec.axis = sec_axis(~.+100),name =“伪二轴”,位置=‘右’)

因此,scale_y_continuous()的附加参数将应用于主轴,而不是次要轴。如果我只是复制主轴,一切都按预期工作:

代码语言:javascript
复制
 ggplot(iris, aes(x=Sepal.Width, y = Petal.Width)) + 
  scale_y_continuous(sec.axis = dup_axis())

有人能看到我做错了什么吗?或者告诉我现在应该如何规定这类事情?我要我的中轴边缘和标签回来!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-08 05:57:15

这对我有用。注意name =sec_axis()

代码语言:javascript
复制
library(ggplot2)

ggplot(iris, aes(x = Sepal.Width, y = Petal.Width)) +
  ylab("primary axis") +
  scale_y_continuous(sec.axis = sec_axis(~. + 100,
    name = "bogus secondary axis"))

reprex封装创建于2018-08-07 (v0.2.0.9000)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51737622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档