Jestem nowy w R, ale wykonałem wiele wykresów korelacji z mniejszymi zestawami danych. Jednak kiedy próbuję wykreślić duży zestaw danych (2 GB +), mogę dobrze wykonać wykres, ale legenda się nie pojawia. Jakakolwiek rada? czy alternatywy?
library(gplots)
r.cor <- cor(r)
layout(matrix(c(1,1,1,1,1,1,1,1,2,2), 5, 2, byrow = TRUE))
par(oma=c(5,7,1,1))
cx <- rev(colorpanel(25,"yellow","black","blue"))
leg <- seq(min(r.cor,na.rm=T),max(r.cor,na.rm=T),length=10)
image(r.cor,main="Correlation plot Normal/Tumor data",axes=F,col=cx)
axis(1, at=seq(0,1,length=ncol(r.cor)), labels=dimnames(r.cor)[[2]],
cex.axis=0.9,las=2)
axis(2,at=seq(0,1,length=ncol(r.cor)), labels=dimnames(r.cor)[[2]],
cex.axis=0.9,las=2)
image(as.matrix(leg),col=cx,axes=T)
Błąd
plot.new()
: zbyt duże marginesy rysunku
tmp <- round(leg,2)
axis(1,at=seq(0,1,length=length(leg)), labels=tmp,cex.axis=1)
Odpowiedzi:
Podejrzewam, że problem polega na tym, że obszar małej figury 2 utworzony przez twój
layout()
wywołanie nie jest wystarczająco duży, aby zawierać tylko domyślne marginesy, nie mówiąc już o wykresie.Przed linią powodującą problem spróbuj:
następnie wykreśl drugi obraz
Będziesz musiał bawić się rozmiarem marginesów na
par()
połączenia, które pokazuję, aby to naprawić. Konieczne może być również zwiększenie rozmiaru rzeczywistego urządzenia, na którym drukujesz.Ostatnia wskazówka: zapisz
par()
ustawienia domyślne przed ich zmianą, więc zmień istniejącepar()
połączenie na:potem na koniec kreślenia zrobić
źródło
png(filename="myfile.png", res=150, width = 1000, height = 1000)
Ten błąd może wystąpić w Rstudio po prostu dlatego, że okienko „Wykresy” jest ledwo za małe. Spróbuj powiększyć „Pliki, wykresy, pakiety, pomoc, przeglądarkę” i zobacz, czy to pomaga!
źródło
par(mfrow=c(1,1))
można zresetować Cię do jednego okienka.Jeśli otrzymasz ten komunikat w RStudio, kliknięcie ikony „miotły” „Wyczyść wszystkie wykresy” na karcie Wykresy i ponowne użycie funkcji plot () może zadziałać.
źródło
graphics.off()
Czasami zdarza się to w RStudio. Aby rozwiązać ten problem, możesz spróbować wydrukować do zewnętrznego okna (tylko Windows):
źródło
Error in plot.new() : figure margins too large
błąd w RStudio podczas rysowania OLS-CUSUM i zadziałało cudownie. Wielkie dzięki jobligado.Otrzymałem ten błąd w R Studio i został po prostu naprawiony, zwiększając pasek boczny, klikając i przeciągając jego krawędź od prawej do lewej.
źródło
Sprawdź, czy Twój obiekt jest listą czy wektorem. Aby to zrobić, wpisz
is.list(yourobject)
. Jeśli to prawda, spróbuj zmienić jego nazwęx<-unlist(yourobject)
. W ten sposób stanie się wektorem, który można wykreślić.źródło
png()
/dev.off()
w Rstudio).Po prostu powiększ ten obszar, jeśli używasz RStudio.
źródło
Znalazłem dzisiaj ten błąd. Początkowo próbowałem wyprowadzić go do
.jpeg
pliku o małej szerokości i wysokości.Później zwiększyłem szerokość i wysokość do:
Nie było błędu. :)
Możesz także bawić się rozdzielczością, jeśli rozdzielczość jest wysoka, potrzebujesz większej szerokości i wysokości.
źródło
Wystąpił ten błąd, gdy próbowałem wykreślić dane wysokowymiarowe. Jeśli tak się dzieje, wypróbuj skalowanie wielowymiarowe: http://www.statmethods.net/advstats/mds.html
źródło
Zmagałem się z tym błędem od tygodni (używając RStudio). Próbowałem przesuwać okno wykresu coraz większe i mniejsze, ale to nie zawsze pomagało. Kiedy przeniosłem (przeciągnąłem) aplikację na mój większy monitor, problem zniknął! Byłem oszołomiony ... tyle straconych godzin ... Wiedziałem, że mój kod jest poprawny ...
źródło
Obszar roboczy RStudio Plots ogranicza szerokość i wysokość wydruku. Jeśli jednak utworzysz wykres z fragmentu kodu Rmarkdown , działa on bez ograniczeń pola płótna, ponieważ obszar kreślenia jest ustawiony zgodnie z rozmiarem papieru.
Na przykład:
źródło
Znalazłem dziś ten sam błąd. Próbowałem użyć przycisku „Wyczyść wszystkie wykresy”, ale dawał mi ten sam błąd. Wtedy ta sztuczka zadziałała dla mnie, spróbuj zwiększyć obszar fabuły, przeciągając. Na pewno ci to pomoże.
źródło
Po prostu użyłem Wyczyść wszystkie wykresy, a następnie ponownie podaj polecenie wykresu i było to pomocne
źródło
Jeśli margines jest niski, zawsze lepiej jest zacząć od nowego urządzenia kreślącego:
Nigdy nie otrzymasz błędu marginesu, chyba że narysujesz coś dużego, czego nie da się pomieścić.
źródło