Plot.new () hatası: şekil kenar boşlukları çok büyük, Dağılım grafiği


109

Bir çözüm için farklı sorulara baktım ve önerilenleri denedim ama işe yarayacak bir çözüm bulamadım.

Bu kodu her çalıştırmak istediğimde her zaman şöyle diyor:

Plot.new () hatası: şekil kenar boşlukları çok büyük

ve nasıl düzelteceğimi bilmiyorum. İşte kodum:

par(mfcol=c(5,3))
hist(RtBio, main="Histograma de Bio Pappel")
boxplot(RtBio, main="Diagrama de Caja de Bio Pappel")
stem(RtBio)
plot(RtBio, main="Gráfica de Dispersión")

hist(RtAlsea, main="Histograma de Alsea")
boxplot(Alsea, main="Diagrama de caja de Alsea")
stem(RtAlsea)
plot(RtTelev, main="Gráfica de distribución de Alsea")

hist(RtTelev, main="Histograma de Televisa")
boxplot(telev, main="Diagrama de Caja de Televisa")
stem(Telev)
plot(Telev, main="Gráfica de dispersión de Televisa")

hist(RtWalmex, main="Histograma de Walmex")
boxplot(RtWalmex, main="Diagrama de caja de Walmex")
stem(RtWalmex)
plot(RtWalmex, main="Gráfica de dispersión de Walmex")

hist(RtIca, main="Histograma de Ica")
boxplot(RtIca, main="Gráfica de caja de Ica")
stem(RtIca)
plot(RtIca, main="Gráfica de dispersión de Ica")

Ne yapabilirim?



2
Kenar boşlukları görüntünüz için çok büyük görünüyor. Küçük bir çizim pencereniz varsa bu olabilir. Her durumda, açıklamanız sorunu teşhis etmek için yetersizdir. Plot penceresi ile R oturumunuzun tekrarlanabilir bir örneğini veya ekran görüntüsünü kullanabiliriz.
Roman Luštrik

Benim durumum, çizilecek verilerin küçük bir alt kümesiyle hata ayıklamaya yardımcı oldu plot(df[1,1:3], df2[1,1:3])- ve sonra aslında yapmak istediğim şeyin plot(unlist(df[1,1:3]), unlist(df2[1,1:3]))Ayrıca görmek olduğunu fark ettim : stackoverflow.com/a/17074060/6018688
fabianegli

Yanıtlar:


164

Her grafik oluşturduğunuzda şu hatayı alabilirsiniz - " Error in plot.new() : figure margins too large". Bu tür hataları önlemek için önce par("mar")çıktıyı kontrol edebilirsiniz . Şunlara sahip olmalısın:

[1] 5.1 4.1 4.1 2.1

Bunu değiştirmek için şunu yazın:

par(mar=c(1,1,1,1))

Bu, hatayı düzeltmelidir. Veya değerleri buna göre değiştirebilirsiniz.

Umarım bu sizin için çalışır.


2
hangi değerlerin kenar boşlukları içinde olduğunu tam olarak nasıl anlarsınız? Ve neden [1] 5.1 4.1 4.1 2.1 almam gerektiğini söylüyorsunuz ama sonra bana tüm 1'leri değiştirmemi söylüyorsunuz?
Herman Toothrot

3
RStudio ile aynı problemle karşılaştım ve girdiğimde par("mar")aynı dizeyi geri aldım, [1] 5.1 4.1 4.1 2.1bu yüzden girdim par(mar=c(1,1,1,1))ancak plot () hiçbir şeyi çizmedi, bu yüzden hem RStudio'yu hem de terminali kapatmam gerekti. RStudio'yu yeniden açtıktan sonra normale döndü.
noobninja

2
RStudio'da da R markdown'da aynı problemle karşılaşıyorum. Ne Guest R'nin çözümü ne de @noobninja yeniden başlatması benim için düzeltmedi.
SC.

Bu hatayı bir RStudio UI düzeni sorunu nedeniyle alıyorsunuz, kodla ilgili bir sorun değil. İkinci cevap benim için çözdü.
Nicole Sullivan

1
@Nicole Sullivan Bu hatayı RStudio olmadan da aldım. Açıklandığı gibi yaptım ve işe yarıyor. Teşekkürler @djhurio!
Gwang-Jin Kim

106

Bu, RStudio'daki çizim paneliniz oluşturmaya çalıştığınız grafiğin kenar boşlukları için çok küçük olduğunda gerçekleşebilir. Genişletmeyi deneyin ve ardından kodunuzu yeniden çalıştırın.

RStudio UI, çizim paneli grafiği görüntülemek için çok küçük olduğunda bir hataya neden olur: Grafik paneliyle RStudio çok küçük

Basitçe çizim panelini genişletmek hatayı düzeltir ve grafiği görüntüler: Çizim paneli genişletilmiş RStudio


5
Gerçekten işe yarıyor .. sadece arsa alanını genişletmek yardımcı oluyor
Jiapeng Zhang

3
Evet, RStudio'da panelleri yeniden boyutlandırma çalışıyor. Çizim panelini kaydırarak kullanıcı arayüzünün sağ tarafını simge durumuna küçülttüğünüzde ortaya çıkan bir RStudio hatasıdır.
Nicole Sullivan

bu aslında çoğu durumda işe yarar. Sınırların gerçekten çok küçük olduğu, bu pencereyi
büyütseniz

27

RStudio'nun dev.off()benim için varsayılan ayarlarla yeni bir grafik cihazını açmasını sağlamak için başvurmak. HTH.


1
Bunun nasıl yapılacağını açıklar mısınız lütfen?
Swift Arrow

20

RStudio'da bu mesajı alırsanız, Plots sekmesindeki "Süpürge sopası" figürünü "Clear All Plots" tıklayın ve plot'u () tekrar deneyin.

Ayrıca komutu yürütün

graphics.off()

11
bu üç satırı yazgraphics.off() par("mar") par(mar=c(1,1,1,1))
Hiren

6

Sadece grafikleri temizleyin ve kodu tekrar çalıştırmayı deneyin ... Benim için çalıştı


1

Sadece bir yan not. Bazen bu "kenar boşluğu" hatası, R'ye yüksek çözünürlüklü bir rakamı (örn. dpi = 300Veya res = 300) kaydetmek istediğiniz için oluşur .
Bu durumda yapmanız gereken , genişliği ve yüksekliği belirlemektir . (Btw, ggsave()bunu gerektirmez.)

Bu , marj hatasına neden olur :

# eg. for tiff()
par(mar=c(1,1,1,1))
tiff(filename =  "qq.tiff",
     res = 300,                                                 # the margin error.
     compression = c( "lzw") )
# qq plot for genome wide association study (just an example)
qqman::qq(df$rawp, main = "Q-Q plot of GWAS p-values", cex = .3)
dev.off()

Bu , marj hatasını düzeltir :

# eg. for tiff()
par(mar=c(1,1,1,1))
tiff(filename =  "qq.tiff",
     res = 300,                                                 # the margin error.
     width = 5, height = 4, units = 'in',                       # fixed
     compression = c( "lzw") )
# qq plot for genome wide association study (just an example)
qqman::qq(df$rawp, main = "Q-Q plot of GWAS p-values", cex = .3)
dev.off()
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.