Übung Open Data: Anpassen von bestehenden Apps & Bibliotheken die D3.js verwenden: C3.js und weitere Tools



Ähnliche Dokumente
Übung Open Data: Daten mit D3.js visualisieren

Übung Open Data: Open Data Speed Dating

Kapitel 4 und 5: Einführung D3.js und Daten einbinden in D3.js

Roundtable Open Smart City Bern. Open Data und Open Government

Templates für CMSMadeSimple

<script type="text/javascript"> <! <%= page(page.searchsuggestionsscript) %> // > </script>

Informationen zu den Prüfungen «Web-Entwicklung» und «Web-Applikationen» vom 21. Januar 2015

BBCode v2.0. Einleitung...2 Installation... 3 Bugfixliste Inhaltsverzeichnis. Überarbeiteter BBCode + neuem Interface.

Es gibt zahlreiche Web-Programmiersprachen: HTML, CSS, JavaScript, PHP, Perl, Python, HTTP, XML und viele weitere.

KILL PHOTOSHOP. Gestaltung im Browser mit Contao

DataTables LDAP Service usage Guide

Online Kataloge. Wie binde ich einen SGVSB-Online-Katalog in eine Webseite ein. Versionsnummer: 1.0 Änderungsdatum:

<!doctype html> <html lang = "de"> <head> <meta charset = "utf-8"> <title> Bischofshofen. </title>

Informatik I: Einführung in die Programmierung

GITS Steckbriefe Tutorial

Die Zeitungsproduktion

Mehrere Diagramme zu einer Darstellung kombinieren

=GANZZAHL(69,5) =MITTELWERT(REST(8; 3);KÜRZEN(2,876;0)) ergibt =UND(ODER(2+2=4;3-2=1);WAHR)

Search Engine Friendly Design Für Content-Provider

CASCADING STYLE SHEETS WEBSEITEN-GESTALTUNG MIT CSS

Klausur PRAKTIKUM ZUR EDV 26. Juni 2001, 18:00 20:00 Uhr

Webshop Booster bh 1/2016

Informatik I: Einführung in die Programmierung

XSLT Vortrag. 2. Beispiel XML. 3. Anwendungsmöglichkeiten von XSLT 4. XHTML

XHTML MP. Mobile Internet. Axel Reusch ar047 MIB

Mobile Webapps in kürzester Zeit: APEX mobile!

ejgp Webseite Kurzeinführung

Java Webentwicklung (mit JSP)

Webseiten erstellen für Einsteiger

Übung Open Data: Open Data Speed Dating

Netzwerkworkshop der deutschsprachigen OJS-Dienstleister 3./4. Dezember 2015, Berlin DOKUMENTATION

Step by Step Softwareverteilung unter Novell. von Christian Bartl

XML Technologien Seminar WS 2011/ Einführung in HTML5 1

Interaktive Medien 1. Semester Martin Vollenweider. Web Entwicklung 1 Kapitel «Struktur»

Methoden zur Visualisierung von ereignisdiskreten Analysedaten

Zahlen auf einen Blick

Webseitenintegration. Dokumentation. v1.0

Internetworking Klausur SS 09 HS Furtwangen

Informatik I: Einführung in die Programmierung

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

HTML5 Formulare. HTML5 Formulare Seite Seite 1 von 7 Florian Bauer

RIS Abbild mit aktuellen Updates

LibreOffice vs. Apache OpenOffice technische, organisatorische und rechtliche Unterschiede

D ie Z ukunft m it H TM L5

Code-Organisation in JavaScript

Aufgabenbereich 3: Layoutgestaltung mit CSS

Notation und Gestaltung

Darstellung von Übersichtsseiten und Präsentationen

Format Pixel Gewicht GIF/JPG Gewicht Flash. 728x90 & 120(160)x K 120 K

Datenbanksysteme SS 2007

A n l e i t u n g. Beamer- Treiber- Download (FBI EB/ 19 )

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

PDF/A. Mar$n Fischer

OC3 Wetterdaten verarbeiten

Grafikbausatz Overlays Profi. für iphone/pocket Visu & PC Visualisierungen

Mit PL/SQL auf s ipad

Print2CAD 2017, 8th Generation. Netzwerkversionen

Vitaminkapseln.ch - SEO Check

Diagramme. Excel Aufbau ZID/Dagmar Serb V.02/Okt 2015

Professionelle Diagramme mit Excel 2010 erstellen. Peter Wies. 1. Ausgabe, 2. Aktualisierung, März Themen-Special W-EX2010DI

Einrichten des Schuljahreskalenders. Das vorliegende Dokument zeigt Ihnen...

Die aktuelle Version des SPIEGEL-Bestseller-Widgets können Sie auf unserer Website unter Entwicklertools herunterladen.

Blumen-bienen-Bären Academy. Kurzanleitung für Google Keyword Planer + Google Trends

Inhaltsverzeichnis Grundlagen zu Diagrammen Ein Diagramm erstellen Diagrammtypen / -untertypen Säulendiagramm...

TYPO3-Publikations-Daten aus TYPO3 exportieren und in Citavi importieren

Graphen in Apex von Thomas Hernando.

Arbeiten mit UMLed und Delphi

Wie erstellt man dynamische Elemente mit JSXGraph?

Installationscript für die Anzeige des aktuellen Moderators

Handbuch ECDL 2003 Basic Modul 6: Präsentation Diagramm auf einer Folie erstellen

Excel Fortgeschrittene Techniken. Peter Wies. 1. Ausgabe, März 2013 EX2013F

Vorlesung Open Data: Informationen zur Veranstaltung und Open Data Demo Apps"

XML Vortrag. 1. Beispiel XML. 2. Begriffe. 3. XML Standards

Datenabgleich. Meine Welt auf einen Blick erleben.

Dokumentation. Mindestanforderungen: Das Board

mehr funktionen, mehr e-commerce:

Einführung in die Scriptsprache PHP

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Einführung Responsive Webdesign

c t HTML 5 App Werbemittelanforderung

Gezielt über Folien hinweg springen

Einführung in die Cross-Plattform Entwicklung Responsive Webdesign mit dem Intel XDK

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

Inhalt der Präsentation

Formale Methoden der Ökonomik: Einführung in die empirische Wirtschaftsforschung

Relaunch der PI3-Website

Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen

Der transparente Look. Die Struktur, die oben angegeben wurde, ist im Anwendungsdesigner, wie in der nächsten Grafik ersichtlich, abgebildet.

Mobile Doku mit altbekannten Werkzeugen. Prof. Sissi Closs

Übung: Verwendung von Java-Threads

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

Plugins. Stefan Salich Stand

Herzlich Willkommen!

Camtasia Theater Hilfe. Version 6.0.2

Einführung in den Reportgenerator

CAD Warehouse- Verbindungen. Plattformspezifische Darstellung

Webdesign Grundlagen. Michael Kraft, M.A. WS 2012/2013

Georgienseite TYPO3 LTS7 Projekt Georgienseite TYPO3 LTS 7 responsiv Stand: Juni 2016

Transkript:

Übung Open Data: Anpassen von bestehenden Apps & Bibliotheken die D3.js verwenden: C3.js und weitere Tools Termin 5, 24. März 2016 Dr. Matthias Stürmer und Prof. Dr. Thomas Myrach Forschungsstelle Digitale Nachhaltigkeit Institut für Wirtschaftsinformatik Universität Bern

Terminübersicht Übungen > 25.02.2016: Informationen zu den Übungen, App-Demos & Einführung in Tools > 03.03.2016: Einführung Web-Programmierung > 10.03.2016: Open Data Speed Dating > 17.03.2016: Einführung D3.js & Daten einbinden in D3.js > 24.03.2016: Anpassen von bestehenden Apps & Bibliotheken, die D3.js verwenden > 31.03.2016: Osterferien > 07.04.2016: Daten visualisieren & Layouts > 14.04.2016: Skalen und Achsen & Responsive Design > 21.04.2016: User Experience, Usability Patterns > 28.04.2016: Zwischenpräsentation & Datenaktualisierung und Transitionen > 05.05.2016: Auffahrt > 12.05.2016: Interactivity & Geomapping > 19.05.2016: 3D Web-Programmierung mit Three.js & Programming Coaching > 26.05.2016: Abschlusspräsentationen > 02.06.2016: frei 2

24. März 2016 Vorlesung 1. Geistiges Eigentum und die Open-Bewegung 2. Gastreferat von Dr. PD Simon Schlauri, Anwalt bei Ronzani Schlauri Anwälte: Rechtliche Aspekte von Open Data Übung 1. Anpassen von bestehenden Apps 2. Bibliotheken, die D3.js verwenden: C3.js und weitere Tools Vertiefte Einführung in die Programmierung 1. Weiterführende Informationen und Übungen in Javascript 3

Agenda 1. Anpassen von bestehenden D3.js Snippets 2. C3.js Einführung 3. Weitere D3.js basierte Bibliotheken 4

Anpassen bestehender D3.js Snippets Vorgehen: 1. Welche Daten werden visualisiert? -> Bevölkerungswachstum 2. Welche Visualisierungsart macht Sinn? -> z.b. D3.js Show Real 3. Wie muss ich die Daten anpassen? -> Transponieren 4. Was muss ich am Code Snippet anpassen -> Pfade 5. Was läuft schief? -> Debugging 5

Daten holen Link: http://www.bfs.admin.ch/bfs/portal/de/index/themen/01/03/blank/key_kant/01.html 6

ODS Datei mit LibreOffice geöffnet 7

Export der Daten als UTF-8 CSV-Datei «Sichern als» 8

Daten als CSV in Brackets öffnen 9

Daten bereinigen: Kommentare und doppelte Zwischenräume löschen 10

Daten bereinigen: Hochkommas löschen 11

Anpassen bestehender D3.js Snippets Vorgehen: 1. Welche Daten werden visualisiert? -> Bevölkerungswachstum 2. Welche Visualisierungsart macht Sinn? -> D3.js Show Real 3. Wie muss ich die Daten anpassen? -> Transponieren 4. Was muss ich am Code Snippet anpassen -> Pfade 5. Was läuft schief? -> Debugging 12

D3.js Code Snippets Link: https://github.com/mbostock/d3/wiki/gallery 13

D3.js Code Snippets Link: http://christopheviau.com/d3list/gallery.html 14

D3.js Code Snippets Link: http://bl.ocks.org/mbostock 15

D3.js Code Snippets Link: http://bost.ocks.org/mike/ 16

Es gibt viele D3 Snippets im Internet... 17

Auswahl einer passenden Visualisierung Link: http://bl.ocks.org/syntagmatic/3891711 18

Auswahl einer passenden Visualisierung: D3.js Show Reel Link: http://bl.ocks.org/mbostock/1256572 19

Code und Datenformat von D3.js Show Reel analysieren Link: http://bl.ocks.org/mbostock/1256572 20

Anpassen bestehender D3.js Snippets Vorgehen: 1. Welche Daten werden visualisiert? -> Bevölkerungswachstum 2. Welche Visualisierungsart macht Sinn? -> D3.js Show Real 3. Wie muss ich die Daten anpassen? -> Transponieren 4. Was muss ich am Code Snippet anpassen -> Pfade 5. Was läuft schief? -> Debugging 21

Daten in LibreOffice öffnen 22

Daten kopieren und transponieren 23

Anpassen bestehender D3.js Snippets Vorgehen: 1. Welche Daten werden visualisiert? -> Bevölkerungswachstum 2. Welche Visualisierungsart macht Sinn? -> D3.js Show Real 3. Wie muss ich die Daten anpassen? -> Transponieren 4. Was muss ich am Code Snippet anpassen -> Pfade 5. Was läuft schief? -> Debugging 24

Code Snippet in Bracket kopieren 25

Pfad zu D3.js Bibliothek anpassen 26

Pfad zu CSV-Daten anpassen 27

Anpassen bestehender D3.js Snippets Vorgehen: 1. Welche Daten werden visualisiert? -> Bevölkerungswachstum 2. Welche Visualisierungsart macht Sinn? -> D3.js Show Real 3. Wie muss ich die Daten anpassen? -> Transponieren 4. Was muss ich am Code Snippet anpassen -> Pfade 5. Was läuft schief? -> Debugging 28

A) Gar keine Darstellung -> Console 29

Fehler in der Beschriftung der Spalten 30

Fehler in der Beschriftung der Spalten 31

B) Fehlerhafte Darstellung 32

Falsches Datumsformat 33

Korrektes Datumsformat 34

Jetzt klappts! 35

Agenda 1. Anpassen von bestehenden D3.js Snippets 2. C3.js Einführung 3. Weitere D3.js basierte Bibliotheken 36

C3.js JavaScript Bibliothek > Vereinfacht die Nutzung von D3.js > Verschiedene Typen von Diagrammen werden einfach erstellt > Diagramme bringen out-of-the-box Funktionalitäten mit: Anzeigen und Ausblenden von Datensätzen Anzeigen von Tooltip Boxen mit Angaben zu Datenpunkten Automatisiertes Skalieren der Achsen Visualisierungshilfen (graue Linie) > Viele weitere Eigenschaften einfach hinzufügbar: Zooming der Daten Daten mittels Transitionen nachladen Skalen und Gitterlinien hinzufügen Achsen, Labels, Farben etc. anpassbar 37

Diagramm-Typen mit C3.js Link: http://c3js.org/examples.html 38

Diagramm-Typen mit C3.js Link: http://c3js.org/examples.html 39

Einbindung C3.js > Download aktuelle C3.js Version: https://github.com/masayuki0812/c3/releases/latest > Datei «Source code (zip)» entzippen in lokales Verzeichnis «c3»: Link: http://c3js.org/gettingstarted.html#setup 40

Einbindung C3.js > Laden von C3.js CSS und JavaScript Bibliotheken im HTML-Head: <!-- Load c3.css --> <link href="c3/c3.css" rel="stylesheet" type="text/css"> <!-- Load d3.js and c3.js --> <script type="text/javascript" src="d3/d3.min.js"></script> <script type="text/javascript" src="c3/c3.min.js"></script> Wichtig: Auch D3.js muss eingebunden werden! Link: http://c3js.org/gettingstarted.html#setup 41

Diagramm generieren > C3 generates a chart by calling generate() with the argument object, and an element including the chart will insert into the element specified as a selector in that argument as bindto. > HTML : <div id="chart"></div> > JavaScript : var chart = c3.generate({ bindto: '#chart', data: { columns: [ ['data1', 30, 200, 100, 400, 150, 250], ['data2', 50, 20, 10, 40, 15, 25] ] } }); Link: http://c3js.org/gettingstarted.html#generate 42

Diagramm generieren <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>c3 Demo</title> <!-- Load c3.css --> <link href="c3/c3.css" rel="stylesheet" type="text/css"> <!-- Load d3.js and c3.js --> <script type="text/javascript" src="d3/d3.min.js"></script> <script type="text/javascript" src="c3/c3.min.js"></script> </head> <body> <div id="chart"></div> <script type="text/javascript"> var chart = c3.generate({ bindto: '#chart', data: { columns: [ ['data1', 30, 200, 100, 400, 150, 250], ['data2', 50, 20, 10, 40, 15, 25] ] } }); </script> </body> </html> Link: http://c3js.org/gettingstarted.html#generate 43

Diagramm anpassen > Zusätzliche Achse einfügen: var chart = c3.generate({ bindto: '#chart', data: { columns: [ ['data1', 30, 200, 100, 400, 150, 250], ['data2', 50, 20, 10, 40, 15, 25] ], axes: { data2: 'y2' } }, axis: { y2: { show: true } } }); Link: http://c3js.org/gettingstarted.html#customize 44

Diagramm anpassen > Achsenbeschriftung und Balken einfügen: Link: http://c3js.org/gettingstarted.html#customize var chart = c3.generate({ bindto: '#chart', data: { columns: [ ['data1', 30, 200, 100, 400, 150, 250], ['data2', 50, 20, 10, 40, 15, 25] ], axes: { data2: 'y2' }, types: { data2: 'bar' } }, axis: { y: { label: { text: 'Y Label', position: 'outer-middle' } }, y2: { show: true, label: { text: 'Y2 Label', position: 'outer-middle' } } } }); 45

Diagramm anpassen > Gitter einfügen: var chart = c3.generate({ bindto: '#chart', data: { columns: [ ['data1', 30, 200, 100, 400, 150, 250], ['data2', 50, 20, 10, 40, 15, 25] ] }, grid: { x: { show: true }, y: { show: true } } }); Link: http://c3js.org/samples/options_gridline.html 46

Diagramm transformieren > Datensets von Linien in Balken transformieren: var chart = c3.generate({ data: { columns: [ ['data1', 30, 200, 100, 400, 150, 250], ['data2', 130, 100, 140, 200, 150, 50] ], type: 'bar' } }); settimeout(function () { chart.transform('line', 'data1'); }, 1000); settimeout(function () { chart.transform('line', 'data2'); }, 2000); settimeout(function () { chart.transform('bar'); }, 3000); settimeout(function () { chart.transform('line'); }, 4000); Link: http://c3js.org/samples/transform_line.html 47

C3.js Application Programming Interface Link: http://c3js.org/reference.html 48

Agenda 1. Anpassen von bestehenden D3.js Snippets 2. C3.js Einführung 3. Weitere D3.js basierte Bibliotheken 49

DC.js Link: http://dc-js.github.io/dc.js/ 50

NVD3.js Link: http://nvd3.org 51

n3-charts Link: http://n3-charts.github.io/line-chart/ 52

MetricsGraphics.js Link: http://metricsgraphicsjs.org/ 53

Parallel Coordinates Link: http://syntagmatic.github.io/parallel-coordinates/# 54

DataMaps Link: http://datamaps.github.io/ 55

d3.geomap Link: https://d3-geomap.github.io/ 56

Weitere D3.js basierte Datenvisualisierungs-Bibliotheken Link: http://mikemcdearmon.com/portfolio/techposts/charting-libraries-using-d3 57