我有一个数据框,其中包含来自每个州的 48 小时观察结果。州名在第 1 列,第 2:49 列包含每小时的观察结果。每列都用于生成该小时美国的 Choropleth 地图。我已经能够使用如下代码生成一个地图,其中数据框名为“qso_per_hour”。
map_hours<-colnames(qso_per_hour[2:49]) #drop state column, get just hour column names
this_map<-map_hours[18] # hour 18 as an example
#
ggplot(qso_per_hour, aes_string(map_id="states", fill=this_map))+
geom_map(map=states_map, colour="black") # other formatting code trimmed
然后我想做的是生成所有 48 小时地图,每个地图都在自己的页面上,并将它们保存到图形文件中。作为开始,我只是想让它们显示在屏幕上。当我将此代码放入一个简单的 for 循环时,它不再绘制地图。
map_hours<-colnames(qso_per_hour[2:49]) #drop state column, get just hour column names
for (this_map in map_hours) {
ggplot(qso_per_hour, aes_string(map_id="states", fill=this_map))+
geom_map(map=states_map, colour="black") # other formatting code trimmed
}
运行时,会打开一个 R Graphic:Device 窗口,但不再绘制地图。窗口仍然是灰色的。我花了几个小时寻找这个问题的答案。它一定很简单。有人有想法么?在调试中,我还在循环末尾放了一条 readline 语句,让它等我说可以去绘制下一张地图,但这并不能解决问题。
提前感谢您的任何想法。