R ggplot2带日期x轴的热图-删除灰色区域
我试图显示西欧一个tyoical家庭的电能消耗热图,在X轴上是一年中的所有天,在Y轴上是每天的小时数,热图显示每天每小时使用的电能(kWh)。以下是我目前得到的信息: 我的问题是调整日期X轴的比例,使绘图左侧和右侧的灰色色带消失。 由于知道如何展开(),即将数字数据的数据显示限制为最小值、最大值,因此很难找到x轴数据的解决方案 以下是我用来传达上述情节的内容:R ggplot2带日期x轴的热图-删除灰色区域,r,ggplot2,heatmap,R,Ggplot2,Heatmap,我试图显示西欧一个tyoical家庭的电能消耗热图,在X轴上是一年中的所有天,在Y轴上是每天的小时数,热图显示每天每小时使用的电能(kWh)。以下是我目前得到的信息: 我的问题是调整日期X轴的比例,使绘图左侧和右侧的灰色色带消失。 由于知道如何展开(),即将数字数据的数据显示限制为最小值、最大值,因此很难找到x轴数据的解决方案 以下是我用来传达上述情节的内容: hm.palette <- colorRampPalette(rev(brewer.pal(11, 'Spectral')), s
hm.palette <- colorRampPalette(rev(brewer.pal(11, 'Spectral')), space='Lab')
heatmap_print <- ggplot(MyData, aes(y=Time, x=Day, fill=Totaal)) +
geom_tile(aes(height=1)) +
scale_fill_gradientn(colours = hm.palette(100))
print(heatmap_print +
scale_y_continuous(name = "Hour of day", breaks = seq(0, 23, by=1), expand = c(0, 0)) +
scale_x_date(name = "Month of year",
breaks = seq(as.Date("2009-01-15"),
as.Date("2009-12-15"),
by = "1 month"), date_labels ="%B"))
hm.palete如果你只是想摆脱灰色,可以尝试使用themes()
hm.palette <- colorRampPalette(rev(brewer.pal(11, 'Spectral')), space='Lab')
heatmap_print <- ggplot(MyData, aes(y=Time, x=Day, fill=Totaal)) +
geom_tile(aes(height=1)) +
scale_fill_gradientn(colours = hm.palette(100))
print(heatmap_print +
scale_y_continuous(name = "Hour of day", breaks = seq(0, 23, by=1), expand = c(0, 0)) +
scale_x_date(name = "Month of year",
breaks = seq(as.Date("2009-01-15"),
as.Date("2009-12-15"),
by = "1 month"), date_labels ="%B")) +
theme(panel.background = element_blank(),
plot.background = element_blank())
hm.palete只需更改主题,例如:+theme\u classic()
您是否尝试过scale\u x\u date
中的expand=c(0,0)
?它适用于我的简单绘图:ggplot(data.frame(x=Sys.Date()+0:3,y=1:4),aes(x,y))+geom_point()+scale_x_Date(expand=c(0,0))
Hi,非常感谢!非常高效和优雅的解决方案。今早找到此参考,也可以使用(但需要考虑缩放和日期格式):