R 设置y轴位置时,将y轴标签向内对齐;对",;

R 设置y轴位置时,将y轴标签向内对齐;对",;,r,ggplot2,R,Ggplot2,在R{ggplot2}中,我希望将最外层的轴标签向内对齐,这对于未指定位置参数的x轴和y轴标签来说没有问题(请参见下面的第一个图) 但是,当y轴位于右侧时,axis.text.y=element\u text()中的hjust参数似乎没有响应(参见第二个图)。我知道在元素_text中不支持矢量化输入,但即使是长度为1的矢量也不会影响y轴标签的位置 需要说明的是:我想要的输出类似于第一个绘图,但x轴位于顶部,y轴位于右侧。此时,y轴上的“许多”一词未向内对齐 这是虫子吗?是否需要指定其他参数 谢谢

在R{ggplot2}中,我希望将最外层的轴标签向内对齐,这对于未指定位置参数的x轴和y轴标签来说没有问题(请参见下面的第一个图)

但是,当y轴位于
右侧时,
axis.text.y=element\u text()
中的
hjust
参数似乎没有响应(参见第二个图)。我知道在
元素_text
中不支持矢量化输入,但即使是长度为1的矢量也不会影响y轴标签的位置

需要说明的是:我想要的输出类似于第一个绘图,但x轴位于顶部,y轴位于右侧。此时,y轴上的“许多”一词未向内对齐

这是虫子吗?是否需要指定其他参数

谢谢你的帮助

库(ggplot2)
图书馆(dplyr)
p%
ggplot(aes(x=气缸,y=档位))+
几何点()
#标签排列整齐:
p+
比例x连续(扩展=c(0,0),
极限=c(4,8),
中断=顺序(4,8,1),
标签=c(“少”、“多”、“多”))+
连续缩放(扩展=c(0,0),
极限=c(3,5),
中断=顺序(3,5,1),
标签=c(“少”、“多”))+
主题(
axis.text.x=元素\文本(
hjust=c(0,0,0,0,1)),
axis.text.y=元素\文本(
角度=90,
hjust=c(0,0,1)
)
)
#>警告:官方不支持对'element_text()'的矢量化输入。
#>结果可能是意外的,或者在ggplot2的未来版本中可能会发生更改。
#>警告:官方不支持对'element_text()'的矢量化输入。
#>结果可能是意外的,或者在ggplot2的未来版本中可能会发生更改。

#x标签对齐得很好
#y标签不响应'hjust'`
#“许多”应该对齐指向内部
p+
比例x连续(扩展=c(0,0),
position=“top”,
trans=“反向”,
极限=c(8,4),
中断=顺序(8,4,-1),
标签=c(“少”、“多”、“多”))+
连续缩放(扩展=c(0,0),
position=“right”,
trans=“反向”,
极限=c(5,3),
中断=顺序(5,3,-1),
标签=c(“少”、“多”))+
主题(
axis.text.x=元素\文本(
hjust=c(0,0,0,0,1)),
axis.text.y=元素\文本(
角度=90,
hjust=c(0,0,1)
)
)
#>警告:官方不支持对'element_text()'的矢量化输入。
#>结果可能是意外的,或者在ggplot2的未来版本中可能会发生更改。
#>警告:官方不支持对'element_text()'的矢量化输入。
#>结果可能是意外的,或者在ggplot2的未来版本中可能会发生更改。


由(v0.3.0)于2020年10月26日创建,不确定这是否是一个bug,但最近我遇到了类似的问题。在我的情况下,显然在您的情况下,解决方案是更加具体,并使用
axis.text.y.right

库(ggplot2)
图书馆(dplyr)
p%
ggplot(aes(x=气缸,y=档位))+
几何点()
p+
比例x连续(扩展=c(0,0),
position=“top”,
trans=“反向”,
极限=c(8,4),
中断=顺序(8,4,-1),
标签=c(“少”、“多”、“多”))+
连续缩放(扩展=c(0,0),
position=“right”,
trans=“反向”,
极限=c(5,3),
中断=顺序(5,3,-1),
标签=c(“少”、“多”))+
主题(
axis.text.x=元素\文本(
hjust=c(0,0,0,0,1)),
axis.text.y.right=元素\文本(
角度=90,
hjust=c(0,0,1)
)
)

太好了,这很有效!我完全不知道我们可以进一步指定
axis.text.x
axis.text.x.right
.Btw。您的回答也解决了我在{ggiraph}中的轴定位问题,谢谢。太好了。所以我一石二鸟。(;Best S.BTW:我没有意识到将不同的值传递给hjust的可能性。这是一个非常有用的方法。因此我也学到了一些新的东西。Thx。我归档并了解到这不是一个bug。默认主题,
主题\u grey
设置
axis.text.y.right
,它覆盖
axis.text.y
。因此我们必须指定
axis。text.y.right
明确地使其工作。