2017-06-28 10 views
0

ここで私は地図パッケージを使用して北大西洋の地図を作成していますが、私はy軸の緯度ラベルを失います。解決策は余白を左に広げているように見えるが、par(mar())引数を調整すると出力には何の影響もないように見える。グラフィックデバイスの後ろにpar()関数を配置するなど、他の投稿から多くのアドバイスを適用しようとしましたが、役に立つことはありません。r maps()によって切り捨てられるy軸ラベルの防止

library(maps) # tool for maps 
    library(mapdata) # all your basemaps are here 

    Sample.Lat.lim=c(32,78.5) 
    Sample.Long.lim=c(-77,43.5) 

    png(filename = "NorthAtlantic.png", 
    width = 2400, height = 2400, res = 300, bg="white") 

    par(mar = c(5,8,4,2)+0.1) 

    map("worldHires", 
    xlim=Sample.Long.lim, ylim=Sample.Lat.lim, 
    col="grey", bg = "white" , 
    fill=TRUE, resolution=0) 

    map.axes() 
    map.scale(ratio = FALSE) 

    title(main = "Map of the North Atlantic", xlab = "Longitude", ylab = 
    "Latitude") 

    dev.off() 
+0

問題を再現できません。私はあなたのコードを実行し、y軸のラベルはきれいに見えます。 – G5W

+0

それは非常に奇妙です。私は別のコンピュータでそれを実行し、同じ欠陥のある出力を得る。それがなぜ起こったのかも示せますか? – Robert

+0

UPDATE:これは、png()やpdf()などの出力デバイスでのみ問題があるようです。RやR-Studioコンソールを使用してデバイスとビューを使用せずにコードを実行すると、すべてのテキストの相対的なサイズが歪んだものの、ラベルを見るのが理想的ではありません。誰もが余裕のために私の欲望をPNGグラフィックデバイスに伝える方法を提案することはできますか? – Robert

答えて

0

私は(()私の出力は正常に見えるも、PNGで)あなたの問題を再現することはできませんが、マップ()は、グラフィックスに対処するいくつかの独特の方法があります。私は違いに気づいた。 LinuxでコマンドラインからRstudioを使用するかRを実行する場合

map()は実際には引数として「mar」を取り、マップをプロットする前に余白(および縦横比など)を調整します。デフォルト値はmar = c(4.1, 4.1, par("mar")[3], 0.1)です。余白を調整する方法は、マップ内の引数()の呼び出し:余談として

map("worldHires", mar=c(5,8,4,2)+0.1 , ...) 

、私はちょうど「worldHiresは」非常に時代遅れの世界地図(それはソ連、ユーゴスラビアが...)であることを警告します。 "世界"があなたの目的を十分に満たしておらず、新しい地図が必要な場合は、パッケージrnaturalearthをインストールしたいかもしれません。次にできること

map(ne_countries(10), mar=c(5,8,4,2)+0.1 , ...) 

標準の「世界」はne_countries(50)に対応しています。

関連する問題