ggplot2 :: geom_tile中的单级变量

时间:2017-11-23 12:14:17

标签: r plot

我的数据框有三个变量locationpricevarname

我想使用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")

1 个答案:

答案 0 :(得分:1)

  1. 请勿将宽度设置为0.2。
  2. 使用coord_equal禁用标签和标记。
  3. 您可能希望使用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) 摆脱了所有空白区域。
  4. QLabel

    enter image description here