-3

R を使用していくつかのフィンランドの林業地図を印刷しようとしています。地図はきれいに描かれていますが、凡例の一部の数字は完全な長さではなく、3e+06 の形式で示されています。

これは、凡例の行のサイズが長すぎる場合に発生するようです。これは、一部のユーザーにとっては問題になる可能性があります。

完全な数字を表示するように変更する方法を探していました。私はこれと数日間戦ってきたので、これを修正する方法についてのアイデアをいただければ幸いです。以下ソース。

library(maptools)
library(RColorBrewer)
library(classInt)
Sys.setlocale(category = 'LC_ALL', locale = 'fi_FI@euro')

png(file="tupatmp/950fi_4.png", height=600, width=600, res=100)

basemap <- readShapePoly("shp/metsakeskus.shp",IDvar="mknro_1")
xx <- basemap[basemap$att.data$mknro_1 %in% c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14)]
csv <- read.csv("tupatmp/950fi.csv")
plotvar <- csv$k_4
nclr <- 8
plotclr <- brewer.pal(nclr,"RdYlGn")

options(digits = 10)
class <- classIntervals(plotvar,
                        nclr,
                        style="fixed",
                        fixedBreaks=c(0,5000,10000,15000,20000,250000,3000000,3500000,40000000))
colcode <- findColours(class, plotclr,digits = getOption(digits))
plot(xx,col=colcode)

par(family="sans")
par(mgp = c(0,1,0))

title(main = "Nettotulojen nykyarvon maksimointi 5% korkokannalla 2037
Ahvenanmaa, Lounais-Suomi, Häme-Uusimaa, Kaakkois-Suomi, Pirkanmaa, Etelä-Savo, Etelä-Pohjanmaa, Keski-Suomi, Pohjois-Savo, Pohjois-Karjala, Kainuu, Pohjois-Pohjanmaa, Lappi, Rannikko  (pohjanmaa), Rannikko  (etelärannikko)",
      sub = "Kantohinta-arvo Käytönrajoitus: Puuntuotannon ulkopuolella", 
      font.main=2,cex.main=0.9,cex.sub=0.9)

legend(2730000,7315000,
       title="1000eur",legend=names(attr(colcode,"table")), 
       fill=attr(colcode,"palette"),
       border="black", cex=0.8,bty="o", xpd="FALSE")
dev.off()
4

2 に答える 2

2

scipenオプションをodの代わりに正の数に設定してみてくださいdigits

opts <- options(scipen = 10)

ただし、シェープファイルがないためにコードが機能しないため、これで問題が解決するかどうかを確認するのは困難です。

于 2011-06-28T08:53:41.083 に答える