我的数据框有三个变量location
,price
和varname
。
我想使用ggplot2的geom_tile
制作各种热图。这个图几乎看起来像一个条形图,但我更喜欢geom_tile
,因为我喜欢大小的值,在图上分配相同数量的物理空间。我的代码几乎让我在那里。
第一个问题是我无法格式化绘图,以便摆脱伪条左侧和右侧的所有空白区域。第二个问题是我无法删除情节下面的Price
图例,因为我希望Price
只能在情节上方的图例中显示。
感谢您的帮助!
起点(df
):
df <- data.frame(location=c("AZ","MO","ID","MI"),price=c(1380.45677,1745.1245,12.45652,1630.65341),varname=c("price","price","price","price"))
当前代码:
library(ggplot2)
ggplot(df, aes(varname,location, width=.2)) + geom_tile(aes(fill = price),colour = "white") + geom_text(aes(label = round(price, 3))) +
scale_fill_gradient(low = "ivory1", high = "green") +
theme_classic() + labs(x = "", y = "") + theme(legend.position = "none") + ggtitle("Price")
答案 0 :(得分:1)
coord_equal
禁用标签和标记。expand = FALSE
来获得更好的比例(即正方形)。 ggplot(df, aes(varname, location)) +
geom_tile(aes(fill = price), colour = "white") +
geom_text(aes(label = round(price, 3))) +
scale_fill_gradient(low = "ivory1", high = "green") +
theme_classic() + labs(x = "", y = "") +
theme(legend.position = "none", axis.text.x = element_blank(), axis.ticks.x = element_blank()) +
ggtitle("Price") +
coord_equal(expand = FALSE)
摆脱了所有空白区域。
QLabel