2012-02-05 10 views
5

Właśnie zacząłem grać z pakietem quantmod. Dokumentacja jest jednak dość rzadka (być może zrozumiale, ponieważ jest to OSS).quantmod barChart (lub chartSeries) opcje formatowania

Obecnie używam barChart(), który jest ładnym opakowaniem wokół chartSeries() i robi większość tego, czego chcę, ale domyślny wykres, który generuje, nie jest tym, czego chcę. Mówiąc konkretnie, chcę ulepszyć wykresy produkowane przez barChart(), aby odpowiadały moim potrzebom - jednak ponieważ jestem nowicjuszem, nie wiem, czy moje "ulepszenia" mogą być dostarczone jako opcje do owijki barChart(), lub jeśli muszę wywołać metodę chartSeries() bezpośrednio, z określonymi argumentami.

I zostały łzawienie moje włosy starając się wykonać następujące czynności:

  1. wymienić okropny {start date}/{data zakończenia} tekst w górnej prawej części wykresu produkowanego przez BarChart() z wybranym przeze mnie tekstem:

  2. należy określić formatowanie używane na osi X (na przykład pokaż tylko dwie ostatnie cyfry stulecia, tj. '98, '99, '00, '01 itd.)

  3. "Wymuś" zarówno górny wykres, jak i dolny wykres, aby hav e ich wartości Y nadrukowane na lewej stronie wykresu

  4. Dodawanie DODATKOWE szeregowo z dolnym wykresie

  5. stosuje różne w górę/w dół kolory dolnym wykresie (Ustawienia domyślne przy użyciu tego samego w górę/w dół kolory zarówno górne i dolne wykresy)

  6. Plot tylko górny wykres (bez dolny wykres)

  7. Podać oś X, Y oś odstępy linii siatki na górnym wykresie, na dolnym wykresie

  8. Zapisz obraz na alternatywnym wyjściu (np. png obraz lub dokument pdf) zamiast urządzenia graficznego

Czy ktoś może pomóc z dowolnym (lub wszystkimi) z powyższych ?.

+0

Muszę powiedzieć, że jestem poważnie zirytowany, gdy anonimowi ludzie, którzy zwykle niewiele przyczynili się do społeczności, krytykują FOSS. Powiedział, że quantmod jest jednym z lepiej udokumentowanych pakietów (w pakiecie i na stronie), co nie oznacza, że ​​nie można go poprawić. –

+0

@JoshuaUlrich: Rozumiem (i dzielę się) twoim sentymentem. Moje pytanie nie miało charakteru krytyki (choć widzę, jak można go interpretować jako jedno). Jestem DUŻĄ fanem OSS i chociaż nie wnosiłem nic do R (jeszcze), włożyłem wiele kodu i pieniędzy do wielu projektów OSS, z których regularnie korzystam (PostgreSQL i zeroMQ to dwa, które przychodzą na myśl). –

+0

Możesz również znaleźć http://stackoverflow.com/questions/8815697/r-quantmod-multiple-charts-all-using-tame-y-axis. (Zwłaszcza jeśli chodzi o twoją liczbę 5, ponieważ za pomocą dwóch połączeń z chartSeries możesz zdecydowanie kontrolować kolory.) –

Odpowiedz

5
  1. Ta funkcja nie jest dostępna (poprawki są mile widziane).
  2. Ta funkcja nie jest dostępna (poprawki są mile widziane).
  3. Ta funkcja nie jest dostępna (poprawki są mile widziane).
  4. Zobacz rzadką dokumentację dla ?addTA, w szczególności argumentu on.
  5. Sporządź dolny wykres jako dwie osobne serie w górę/w dół, używając dwóch różnych kolorów lub być może chartTheme.
  6. Nie jesteś pewien co masz na myśli; po prostu nie rysuj dolnego wykresu ...
  7. Zobacz rzadką dokumentację dla argumentu 2 dla chartSeries. Nie sądzę, że możesz zmienić odstępy między liniami siatki osi y, a odstępy osi x będą takie same dla górnego i dolnego wykresu.
  8. Zobacz ?png i ?pdf.
2

zmienić lub usunąć dolny wykres sprawdzić TA argumentu chartSeries funkcji (jest przykładem, w instrukcji); , aby zmienić kolory, sprawdź argument theme (istnieje przykład w instrukcji); pisanie do pliku PNG lub PDF, używać funkcji png lub pdf, , jak w przypadku innych funkcji kreślenia.

dostrojenie osie i etykiety, to chyba łatwiej ominąć chartSeries całkowicie i wykreślić dane samodzielnie, z grafiką bazowych, kraty lub ggplot2.

+1

Problem z pominięciem ChartSeries polega na tym, że niektóre bardzo przydatne funkcje (takie jak świeczniki) nie są w żadnym innym pakiecie (AFAIK). –