我试图绘制一个相对较小的数据集,但我无法让它向我展示情节。它不断给出错误import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public static String getAsFormattedJsonString(Object object)
{
ObjectMapper mapper = new ObjectMapper();
try
{
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(object);
}
catch (JsonProcessingException e)
{
e.printStackTrace();
}
return "";
}
。这对我来说没有多大意义,因为数据集相当小。
Error: cannot allocate vector of size 9.7 Gb
我是如何策划的。
> nrow(locs)
[1] 130
> head(locs)
STATION AVGTRANGE LAT LONG
1: USC00286979 22.13333 40.6971 -75.2042
2: USC00360022 21.33333 40.5361 -79.8152
3: USC00360132 24.37037 40.5227 -78.3694
4: USC00360140 19.80000 40.4949 -78.4667
5: USC00360147 22.36667 41.3585 -77.9262
6: USC00360457 20.68000 40.8209 -76.4983
以下是gg <- ggplot(data = locs, aes(x = LONG, y = LAT)) +
geom_raster(aes(fill=AVGTRANGE), interpolate=TRUE)
gg # can't allocate here
我的数据。
dput
答案 0 :(得分:2)
我不确定您使用geom_raster尝试实现的目标,因为您的数据似乎不符合目的。
考虑点图的输出:
gg <- ggplot(data = locs, aes(x = LONG, y = LAT, colour = AVGTRANGE)) +
geom_point()
#geom_raster(aes(fill=AVGTRANGE), interpolate=TRUE)
gg
data(faithfuld)
gg <- ggplot(faithfuld, aes(waiting, eruptions, colour = density)) +
geom_point()
#geom_raster(aes(fill = density), interpolate = TRUE)
gg
我还尝试了geom_contour
您的数据,但它不起作用:
gg <- ggplot(data = locs, aes(x = LONG, y = LAT, z = AVGTRANGE)) +
geom_contour()
gg
更新
我检查了geom_raster
的代码,并且它试图创建巨型图的原因是图的分辨率基于点之间的最小距离。由于数据中的某些点非常接近,因此矩阵的大小非常大。
如果你将LAT和LONG转为2位数代码可以正常工作。
locs$LAT <- round(locs$LAT, 0)
locs$LONG <- round(locs$LONG, 0)