我正在使用likert
包制作漂亮的图表。我遇到的问题是,我还没有能够让这些情节的高度取决于喜欢的音阶数量。
如果我只有一个比特尺,结果很难看。我希望能够影响身高。
plot(likert(likert_5),type="heat",text.size=2.5)
这是结果:
我希望它是这样的:
我尝试了facet_grid()
包的ggplot2
功能,但它没有用。
plot(likert(likert_5),type="heat",text.size=2.5)+facet_grid(scales = "free_y", drop = FALSE)
我必须承认我对ggplot2
(以及依赖于likert
的包ggplot2
)不熟悉,所以解决方案可能会很简单,但它确实会有所帮助我很多!非常感谢提前。
这是一个可重复的例子:
df <- structure(list(Variable = c(1, 2, 3, 4, 2, 3, 1, 5, 3, 4, 2,
1, 1, 1, 4, 5)), .Names = "Variable", row.names = c(NA, -16L), class = "data.frame")
df[,1] <- factor(df[,1], levels=c(1,2,3,4,5))
library(likert)
plot(likert(df),type="heat",text.size=2.5)
答案 0 :(得分:2)
这取决于你如何使用情节。在交互式R会话中,最好的办法是调整绘图窗口的大小。我不知道如何在RStudio中以编程方式调整绘图窗口的大小。如果您没有使用RStudio ,您应该开始使用它!您可以将高度和宽度赋予dev.new()
,例如,
dev.new(height = 1, width = 5)
plot(likert(df),type="heat",text.size=2.5)
如果你要保存绘图,那么你使用的任何方法都有高度和宽度参数,这就是程序化方法最有意义的地方。如,
lplot <- plot(likert(df),type="heat",text.size=2.5)
ggsave("myplot.png", plot = lplot, width = 5, height = 1)
如果你真的想修改绘图对象本身,我们可以编辑绘图的坐标属性的类。
lplot <- plot(likert(df),type="heat",text.size=2.5)
lplot <- lplot + coord_fixed() # the default ratio of 1 looks good to me
# but you can adjust it
class(lplot$coordinates) <- c("flip", class(lplot$coordinates))
print(lplot)