我还有另一个问题。假设我用以下代码绘制条形图:
require(lattice)
data <- data.frame(x = c(1,7,10,14,20,21), y = c(0.1,0.6,0.4,0.5,0.3,0.7))
barchart(data$y ~ data$x, horizontal = FALSE)
由于条形图等距分布,因此产生的图片存在问题,但由于x
实际上在值之间有很大的间隔,因此不应该这样。例如,对于x = 1和x = 7,我需要6个小节之间的空白空间。如何解决此问题?
答案 0 :(得分:0)
这是什么:
require(ggplot2)
ggplot(data, aes(x, y)) + geom_bar(stat='identity', fill='lightblue') + theme_classic()
答案 1 :(得分:0)
使用xyplot
并指定面板功能如何?这会将x值保留为数值,而不是允许barchart
将它们转换为因子。使用panel = function(...) panel.barchart(...)
格式,您可以添加其他选项来控制条形图的出现。
require(lattice)
xyplot(y ~ x, data, panel = panel.barchart, horizontal = FALSE)
P.S。我建议您避免使用显式的data$x
和data$y
形式,并允许该函数对提供给该函数的数据中的变量求值。当事物发生变化时,显式引用通常会导致意外结果。