2016-07-19 9 views
6

Próbowałem narysować serię punktów w R, a ja używam type="b" jako opcji fabuły. Jednak pomiędzy punktami i liniami między nimi jest dużo dopełnienia (biała przestrzeń), tak że linia znika całkowicie pomiędzy niektórymi punktami. Jej to obraz tego, jak to wygląda:Jak zmniejszyć wypełnienie między liniami i punktami na wykresach R "obu"

example of disappearing lines

Próbowałem zrobić punkty mniejszy z opcją cex działce, ale to nie pomaga, jak to tylko zmienia rozmiar punktów, a nie gdzie linie między punktami między tymi początkami i końcami. Nie wiem, czy to robi różnicę, ale symbole, których używam, to: pch=1.

Chciałbym wiedzieć, czy można zmniejszyć tę dopełnienie i jak to zrobić. Nie jestem zainteresowany użyciem type=o jako opcji fabuły.

+0

Tak z ciekawości, dlaczego aren” interesuje Cię 'type =" o "'. Wygląda to jak najprostszy sposób w podstawowej wersji graficznej, aby uzyskać to, czego szukasz. – eipi10

+0

@ eipi10: Nie wiedziałem o opcji 'bg', a bez niej nie wyglądało to dokładnie tak, jak chciałem. Uważam, że "? Par" jest nieco trudny do znalezienia, ponieważ istnieje nieskończona liczba parametrów i bardzo mało miejsca, aby je opisać. Nie zdziwiłbym się, gdyby jeden z nich powiedział po prostu * W większości nieszkodliwy *. – Kristian

+0

Cóż, przynajmniej jest niezliczona. W przypadku znaczników punktów można zrobić "? Pch" i przewinąć w dół, aby zobaczyć, co jest dostępne (można również użyć [symboli Unicode] (http://stackoverflow.com/a/30743128/496488), aby uzyskać znacznie większą paletę opcje znaczników). Zgadzam się na pliki pomocy. Kiedy po raz pierwszy zacząłem używać R, okazało się, że pliki pomocy są nieco tajemnicze. Powoli stały się bardziej użyteczne, gdy rozwinąłem intuicję na temat działania R. – eipi10

Odpowiedz

3

Korzystanie z dataframe nazwie dfs to wydaje się dostarczyć mechanizm do regulacji otaczający „białą aureolę” na cokolwiek rozmiar punktu to halo chcesz, dostosowując wartości do "CEX odwiedzający białych i czarnych punktów:

plot(y~x,data=dfs, type="l") 
    with(dfs, points(x,y, pch=16,col="white",cex=1.4)) 
    with(dfs, points(x,y,cex=1)) 
4

Jakiś konkretny powód, dla którego nie chcesz używać type="o"? Wydaje się, że najprostszym sposobem, aby uzyskać żądany efekt:

# Fake data 
set.seed(10) 
dfs = data.frame(x=1:10, y=rnorm(10)) 

plot(y~x,data=dfs, type="o", pch=21, bg='white') 

pch=21 jest markerem koło jak pch=1, ale zarówno obramowanie i wypełnienie. Ustawiamy wypełnienie na białe z bg="white", aby "zakryć" linie przechodzące przez znaczniki punktów.

enter image description here

Można również użyć cex aby zmienić rozmiar znacznika celu uniknięcia nakładania się i sprawiają, że granice między pobliskich punktów widocznych:

set.seed(10) 
dfs = data.frame(x=1:100, y=cumsum(rnorm(100))) 

plot(y~x,data=dfs, type="o", pch=21, bg="white", cex=0.6) 

enter image description here