Czy ktoś zna jakieś dobre oprogramowanie open source do wizualizacji danych z bazy danych?

50

Ostatnio natknąłem się na Tableau i próbowałem wizualizować dane z bazy danych i pliku csv. Interfejs użytkownika umożliwia wizualizację danych czasowych i przestrzennych oraz błyskawiczne tworzenie wykresów. Takie narzędzie jest naprawdę przydatne, ponieważ umożliwia graficzną obserwację danych bez pisania kodu.

Ponieważ istnieje wiele źródeł danych, z których muszę pobierać i wizualizować dane, bardzo przydatne byłoby posiadanie narzędzia, które umożliwiło generowanie wykresów po prostu przeciągając kolumny na osiach i dodatkowo modyfikując wizualizację również poprzez przeciąganie nazw kolumn.

Czy ktoś zna jakieś tego rodzaju darmowe lub otwarte oprogramowanie?

niko
źródło
1
Przez bazę danych masz na myśli struktury SQL, Postgres, Mongo? ( Induction for Mac ma takie funkcje.) A może po jakimkolwiek programie, który akceptuje pliki CSV i pozwala przeciągać i upuszczać kolumny na szablony graficzne lub à la GGobi ?
chl
Stworzyłem narzędzie plotera github.com/burlachenkok/plotter_plusplus
bruziuz

Odpowiedzi:

38

Nigdy tego nie próbowałem, ale istnieje pakiet wizualizacyjny oparty na otwartym kodzie / przeglądarce o nazwie WEAVE (skrót od Web Analysis and Visualization Environment). Podobnie jak Tableau, ma on umożliwiać eksplorację danych za pośrednictwem interaktywnego interfejsu opartego na kliknięciach. W przeciwieństwie do Tableau, jest to oprogramowanie typu open source: możesz pobrać kod źródłowy i zainstalować własną wersję na własnym komputerze, który może być tak prywatny lub tak publiczny, jak chcesz. Nie oczekuj niczego prawie jak zręczny i przyjazny dla użytkownika jak Tableau, ale wygląda ciekawie, potężnego projektu przygotowanego dla kogoś, aby umieścić czas, by nauczyć się go używać.

wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj


Lub możesz spojrzeć na własne . Istnieje kilka naprawdę dobrych narzędzi javacript typu open source do obsługi wizualizacji danych programowych w przeglądarce. Jeśli nie masz nic przeciwko kodowaniu JavaScript i jakiejś warstwy po stronie serwera do obsługi danych, spróbuj:

  • Zestaw danych Miso do pobierania, przetwarzania, zarządzania i czyszczenia danych po stronie klienta w Javascript (zawiera parser CSV)
  • D3 do interaktywnych wizualizacji w SVG (działa w każdej przeglądarce oprócz IE8 i starszych oraz starszych (v1, v2) telefonów z Androidem).
  • gRaphael dla interaktywnych standardowych wykresów dla różnych przeglądarek
  • Raphael, jeśli potrzebujesz danych wyjściowych SVG do pracy w Internet Explorer 6, 7 i 8.

Jeśli interesuje Cię opcja programowania w sieci, oto nieco bardziej szczegółowy opis, który napisałem na temat Raphaela i D3 dla stackoverflow .


Warto również wspomnieć o kilku darmowych (nie open source) pakietach danych online (prawdopodobnie nie nadających się do bezpośredniego połączenia z DB, ale warte obejrzenia):

  • Raw by Density Design - wprowadzenie do bloga - (naciśnij „Wybierz próbkę danych”, aby ją wypróbować) - głównie oparte na kopiowaniu i wklejaniu, nie jestem pewien, czy ma interfejs API, który może połączyć się z bazą danych, ale dobry do szybkiego wypróbowania.
  • Tableau Public - darmowa wersja online Tableau. Chodzi o to, że dane, które do niego wpisujesz, a wszelkie utworzone przez Ciebie wizualizacje muszą być publicznie dostępne.

I coś zupełnie innego: jeśli masz serwer wysokiej jakości i chcesz stworzyć niesamowite „śliskie” mapy w stylu Google Maps oparte na kafelkach przy użyciu technologii open source (prawdopodobnie nie to, czego szukasz - ale jest to możliwe! ), sprawdź MapBox TileMill . Przejrzyj galerię przykładów na ich stronie głównej - niektóre z nich są naprawdę oszałamiające. Zobacz także powiązany projekt Modest Maps , otwarta biblioteka JavaScript do interakcji z mapami opracowana przez Stamen Design (bardzo wysoko oceniana agencja specjalizująca się w mapach interaktywnych). Jest to uważane za ulepszenie w stosunku do bardziej ugruntowanych OpenLayers. Wszystko open source.

wprowadź opis zdjęcia tutaj


WEAVE jest najlepszym znanym mi narzędziem GUI typu open source do osobistej analizy wizualnej .

Pozostałe wymienione narzędzia są najlepszymi narzędziami do publikowania online wizualizacji (na przykład D3 jest używany i rozwijany przez wielokrotnie nagradzany zespół graficzny NY Times ), a częściej są wykorzystywane do wizualizacji w kontekście prezentacji publicznej komunikacja niż analiza eksploracyjna, ale można ich również użyć do analizy.

user56reinstatemonica8
źródło
7

Interfejsy wskaż i kliknij wydają się łatwiejsze, ale na dłuższą metę skorzystasz, ucząc się „pisania kodu”.

Jedną z zalet systemów opartych na skryptach w porównaniu z interfejsami typu „wskaż, kliknij i przeciągnij” jest ścieżka / historia audytu (niektóre GUI mają historię, ale generalnie nie są tak łatwe w obsłudze jak zapisany skrypt). Jeśli napiszesz kod do utworzenia wykresu i zapiszesz go, to zawsze łatwo będzie go ponownie uruchomić lub dokonać drobnych zmian, a następnie ponownie uruchomić, nie zawsze jest łatwo zapamiętać zestaw kliknięć i przeciągnięć użyty do utworzenia poprzedniego wykresu.

Skrypty będą również znacznie szybsze w przypadku dużej liczby wykresów. Napisanie kodu dla pierwszego wykresu zajmie trochę więcej czasu, ale dodanie tylko kilku wierszy, a niektóre niewielkie modyfikacje mogą pozwolić na zapętlenie 100 lub więcej zmiennych przy niewielkim dodatkowym wysiłku, gdy trzeba wykonać ten sam zestaw kliknięć i ciągnie w kółko dla każdego wątku.

Wiele narzędzi do tworzenia wykresów opartych na skryptach ma GUI, które pozwalają na rozpoczęcie korzystania z funkcji wskaż i kliknij, ale pomagają nauczyć się kodu i przejść do bardziej zaawansowanych metod.

Polecam R, który jest darmowy i open source i ma kilka dostępnych GUI (Rcmdr, jgr, rstudio itp.) Jako dobrą opcję.

Greg Snow
źródło
4
Podczas gdy narzędzia oparte na skryptach pomogą ci wielokrotnie generować ten sam wykres z różnych źródeł danych, narzędzia interaktywne są znacznie lepsze do eksploracji i odkrywania w nowym zestawie danych. Po zadaniu pytania wystarczy kliknąć przycisk lub dwa, aby zmienić oś, skale kolorów, skupienia itp. Zamiast pisać kod, aby to zrobić. Jest to znacznie niższy koszt, a widok cofania stosu lub historii eksploracji pozwoli ci cofnąć się, jeśli popełnisz jakieś błędy.
edallme
1
@edallme, nie zgadzam się. To, co mówisz, może być prawdziwe dla osób, które znają podstawy interfejsu GUI i nie znają narzędzi skryptowych, ale myślę, że jest to argument do nauki narzędzi skryptowych. W moim przypadku spodziewam się, że naciśnięcie strzałki w górę, strzałki w lewo i wpisanie czegoś takiego jak „col.axis = 'blue'” zajmie mniej czasu niż przesunięcie ręki do myszy, kliknięcie wykresu i przeszukanie opcji . Dla kogoś rozpoczynającego GUI może wyczuć, co można zmienić, ale wolę tych, którzy pokazują kod, aby nauczyli się lepszego podejścia.
Greg Snow
1
Podoba mi się podejście Staty do GUI do wybierania opcji, a następnie wyrzucanie kodu, którego można użyć ponownie po naciśnięciu „Ok”. Pomocne jest posiadanie skryptów, gdy trzeba zautomatyzować różne rzeczy. Ale wyszukiwanie eksploracyjne to znacznie więcej niż zmiana parametrów wykresu raz lub dwa razy. W dobrych interaktywnych narzędziach użytkownicy mogą zmieniać kolumny używane na wykresie za pomocą kliknięcia przycisku lub klawisza strzałki, filtrować do podzbiorów danych za pomocą suwaka lub interakcji przeciągnij i upuść oraz szczotkować między wykresami pokazującymi połączone punkty danych . Co więcej, każda zmiana jest renderowana w czasie krótszym niż 100 ms i nie karze użytkowników.
edallme
1
W dzisiejszych czasach warto dodać pakiety R, które znacznie ułatwiają aplikację internetową. Zobacz błyszczące lub opencpu
jangorecki
@GregSnow: to naprawdę zależy od pakietu wizualizacji. Mogę uzyskać naprawdę ładną, szczegółową fabułę z aspektami i całym tym jazzem pracującym w ggplot, znacznie szybciej niż mógłbym to zrobić przy pomocy dowolnego GUI. Tego samego nie można powiedzieć o matplotlib, podstawowych wykresach R i wielu innych pakietach.
naught101
1

Możesz skorzystać z bezpłatnej usługi w chmurze pod adresem https://my.infocaptor.com/free_data_visualization.php

Wersja online umożliwia przesyłanie dowolnych danych csv / excel i szybką ich wizualizację. Nie potrzebujesz do tego loginu. Jeśli chcesz pracować z bazami danych, musisz się zalogować lub pobrać oprogramowanie.

PS: Jestem częścią firmy produkującej ten produkt

Nilesh
źródło
Witamy na naszej stronie. To jest trochę rzadkie, czy możesz dodać więcej? Ponadto, rozumiem, że to jest twoja własna usługa, więc powinieneś o tym wspomnieć (ale myślę, że jest to w porządku, aby opublikować to tutaj, jeśli jest bezpłatne i jesteś otwarty na ten temat).
gung - Przywróć Monikę
1

Istnieje nowe narzędzie o nazwie Helical Insight, które jest narzędziem BI typu open source, za pomocą którego można tworzyć wykresy, raporty, pulpity nawigacyjne i różne wizualizacje danych. Za pomocą tego możesz tworzyć raporty na 2 sposoby: samoobsługowe BI i Instant BI. W samoobsługowym BI przeciągasz n upuszczanych kolumn, dodajesz filtry, by ostatecznie tworzyć spostrzeżenia. „Natychmiastowe BI” to funkcja, w której możesz wpisać dowolne pytanie biznesowe i uzyskać natychmiastowy wgląd. Jeśli chodzi o wizualizację danych, możesz mieć wbudowane proste wykresy, wykresy naukowe, a także bardzo osadzić w nim własny wykres. Odwiedź www.helicalinsight.com

Bruce
źródło
1

Właściwie istnieje prawidłowa odpowiedź na to pytanie, Orange . W chwili opublikowania pytania było już około 2. wydania. W systemach Linux można go po prostu zainstalować za pomocą indeksu pakietów Pythona za pomocą pip install orange3i znajduje się on również w repozytorium Arch Arch dla Arch Linux, Manjaro, ALARM i innych dystrybucji opartych na Arch.

Ponadto na StackExchange jest praktycznie to samo pytanie, w którym wspomniano o kilku innych komercyjnych / internetowych alternatywach (które są zamknięte i odsyłają tutaj). Kilka innych można znaleźć na Quora , ale Orange jest jedynym otwartym oprogramowaniem, skompilowanym i posiadającym GUI od razu, o którym wiem. Moim zdaniem ma raczej perfekcyjny, estetyczny i minimalistyczny interfejs.

drws
źródło
0

Istnieje również młody program do (automatycznego) odczytu, filtrowania, przetwarzania, interpolacji i drukowania wartości n-wymiarowych z różnych źródeł (takich jak pliki libreOffice lub csv) i zmiennej wielkości: diaGrabber .

Aby utworzyć sprawę, musisz użyć kilku prostych poleceń python. Następnie możesz manipulować graficznym wyjściem w interaktywnym GUI .

karlB
źródło