有没有办法在ggplot2中更改图例项之间的间距?我现在有
legend.position ="top"
Run Code Online (Sandbox Code Playgroud)
它会自动生成水平图例.然而,物品的间距非常接近,我想知道如何将它们分开更远.
有谁知道如何控制ggplot2中的图例排序?
从我可以看到,订单显示与实际比例标签相关,而不是比例声明顺序.更改比例标题会改变顺序.我用钻石数据集做了一个小例子来强调这一点.我正在尝试将ggplot2用于一系列图表,我想让一个变量出现在右边的所有图表中.目前虽然这只发生在其中一些,但我在如何强制执行我想要的订购同时保留适当的比例标签时不知所措.
library(ggplot2)
diamond.data <- diamonds[sample(nrow(diamonds), 1000), ]
plot <- ggplot(diamond.data, aes(carat, price, colour = clarity, shape = cut)) +
geom_point() + opts(legend.position = "top", legend.box = "horizontal")
plot # the legend will appear shape then colour
plot + labs(colour = "A", shape = "B") # legend will be colour then shape
plot + labs(colour = "Clarity", shape = "Cut") # legend will be shape then colour
Run Code Online (Sandbox Code Playgroud) ggplot2 组合了相同比例的字形,这会导致在使用geom_hline和geom_vline显示两条垂直线时出现混淆行为,因为每种颜色的关键字形包含一个十字 ( +) 而不是|或-对应于该颜色。如何防止ggplot组合-和|关键字形?
library(ggplot2)
means = as.data.frame(t(colMeans(mtcars)))
(
ggplot(mtcars, aes(x = disp, y = drat))
+ geom_point()
+ geom_hline(data = means, aes(color = 'average disp', yintercept = drat))
+ geom_vline(data = means, aes(color = 'average drat', xintercept = disp))
)
Run Code Online (Sandbox Code Playgroud)
我尝试key_glyph为geom_vline和明确设置,geom_hline但它没有改变任何东西。
注意:除了易于解释之外,这对于创建适合色盲的绘图至关重要。