Krangel data Vizualization med Gnuplot 4,6

La oss innse det: alle liker å ha data, men ingen liker å stirre på en kolonne med tall. Hvis du ikke kan forme dine rådata til en visualisering som enten lyser problemet eller hjelper deg å finne den løsningen, så er du bare halvveis ferdig. Heldigvis finnes det verktøy som Gnuplot tilgjengelig, som lar deg manuelt eller automatisk generere høy kvalitet visuelle fremstillinger av datasett. Den nye versjonen, 4.6, legger noen viktige funksjoner fra et matematisk synspunkt – og like viktig, mange oppdateringer til utgangs rammeverk, inkludert støtte for generering av interaktive HTML5 skjermer.

Star Chart-er

I kjernen, er Gnuplot en motor for streaming i data, masserer den, og produsere visuelt resultat. Inngangsområdet av prosessen kan være interaktiv, leses fra en fil, eller generert av et annet program – det er derfor Gnuplot brukes ofte som den grafiske motor for andre data-sentriske applikasjoner. Eksempler inkluderer GRASS geografiske informasjonssystem og Octave numerisk beregning rammeverk, samt tredjepartsverktøy som Pig, dataanalyse plattform for Apache Hadoop, eller Puppet konfigurasjons-styringsverktøy.

Gnuplot produksjon er håndteres av en bruker-valgbar eksport modul kalt en terminal driver
i Gnuplot lingo. Det kan direkte generere bildefiler som utgang, direkte åpne et nytt vindu i operativsystemet, eller formatere utgang for bruk i et annet program (inkludert høyt kaliber pakker som LaTeX). Den kombinerte fleksibilitet av inngangs- og utgangsalternativer er det som gjør Gnuplot slik en mangeårig favoritt for visualisering – prosjektet har vært i kontinuerlig utvikling siden 1980-tallet, og legger til nye funksjoner med hver utgivelse.

Du kan laste ned den nyeste 4.6 versjonen fra prosjektets hjemmeside. Det er kildekode bunter for Linux i dag; alle større Linux-distribusjoner pakken Gnuplot, så oppdaterte pakker skal være tilgjengelig om kort tid fra din distribusjon sitt pakkesystem. En interessant bieffekt av Gnuplot lange utvikling historie er at pakken faktisk pre-datoer GPL og de fleste andre standardiserte FOSS lisenser etter flere år (som et spørsmål om faktum, er det ikke en del av GNU-prosjektet i det hele tatt — likheten i navnene er tilfeldig). Den Gnuplot lisensen er svært lik den unrestrictive copyleft-lisenser de fleste av oss er kjent med; den eneste forskjellen er at det er vanskeligere å ta deler av Gnuplot kilden og lappe dem inn i et annet produkt.

De nåværende prioriteringa er vel klar over hodepine dette medfører, og det kan endre seg i fremtiden hvis de kan utarbeide detaljene nødvendige for lisensiering, men for nå må du lese lisensen nøye dersom du ønsker å innlemme Gnuplot kode i et annet prosjekt. Vær imidlertid oppmerksom på at dette har absolutt ingen effekt på bruk eller distribusjon av Gnuplot i produksjon; bare på å skape nye, avledet programvare

Ny. Strukturerte funksjoner, drivere og statistikk

De to største funksjonene debuterte i 4.6 er støtte for strukturerte blokker av kode i skript som definerer en Gnuplot prosessen, og et sett med nye terminal drivere gjennomførings den nyeste-og-størst utdatamuligheter. De strukturerte kodeblokker tillate Gnuplot å behandle iterativ " for " sløyfer eller if-then-else logiske konstruksjoner med sammensatte, med flere linjer blokker av kode i hver seksjon. Dette er en funksjon som brukerne har bedt om i evigheter, siden uten at de har alltid nødvendig å vikle gnuplot direktiver inne Perl, Python, eller et annet språk. For et eksempel på hvordan dette ser ut, kan en Gnuplot script iterere gjennom Leibniz formel for å beregne og pi; /4 til varierende grad av presisjon:


 set multiplot layout 2,2leibniz (k ) = ((-1) ** k) /(2 * k + 1) gjøre for [makt = 1: 4] {VILKÅR = 10 ** makt satt tittelen sprintf ("% g sikt summering ", VILKÅR) plottet sum [k = 1: VILKÅR] Leibniz (k) notitle} usatt multiplot 


Den nye terminalen drivervalg tilby deg en rekke ting å gjøre med produksjonen. Det er en ny Qt terminal, en Lua terminal, og en terminal for sammenheng makro pakken, samt et par-inngangene med Cairo grafikkmotoren – en som produserer EPS-utgang, og en som produserer latex. EPS og Tex alternativene er rettet mot utskrifts brukere, men de andre lar utviklere å bygge Gnuplot graf inn i andre programmer. Qt driver, for eksempel, kan dukke opp en ny, frittstående Qt-vinduet, men det kan like gjerne lage en Qt lerret å bli styrt av et program.

Gnuplot kan trekke flere nye stiler av visualisering , for eksempel sirkel grafer der radius i sirkelen viser omfanget av data, fylt " skritt " tomter (beslektet med histogrammer), og boksplott, som oppsummerer statistiske beregninger som gjennomsnittet, standardavvik, og kvartil grenser. For statistisk arbeid, er det også en ny-ord kommando, statistikk
, som beregner og genererer en statistisk oversikt over datasettet, med alternativer for å kontrollere notering gjennomsnitt, summer, iler, og andre beregninger.

Det er også flere nye utgangs direktiver. Brukere kan definere sin egen linje-stiler og tilpassede farge sekvenser som spar dem som standard. På den måten, når en Gnuplot script genererer en graf, kan du sikre at den samme fargen er brukt (som ville være spesielt verdifull, for eksempel i et web-basert data mining verktøy, hvor du ikke vet på forhånd hva dataene du vil bli grafer, men du ønsker å etablere et helhetlig utseende til output)

Forbedringer:. Time, Encoding, Smoothing, og HTML5

Mange andre eksisterende funksjoner i Gnuplot er revidert i denne utgivelsen. Tidsformater kan gå ned til mikrosekund presisjon, kan polare koordinere tomter bli trukket inn en rekke nye stiler og aksene tilpasset akkurat som de eksisterende rektangulære tomter, og mange flere flerbyte tekst kodinger støttes, for eksempel UTF-8 og Shift JIS koding benyttes for japansk

Gnuplot er tilgjengelig for en rekke plattformer, og 4.6 introduserer flere forbedringer i Windows bygger å bringe det nærmere pari for Linux og andre Unix-lignende systemer: a. GUI front- enden, en reell søknad installatør, og innebygd hjelp. Windows terminal sjåføren har blitt modernisert, også støtte utgang med alpha åpenhet, anti-aliasing, og andre grafiske funksjoner som finnes på andre plattformer allerede.

Hver plattform ytelser fra nye kurve utjevning algoritmer, som trekker jevnere 2D og 3D danner tilpasset til datapunktene. Men uten tvil den viktigste forbedringen gjelder de to HTML5 terminal driver utganger: HTML < lerret >
driver og SVG driver. Lerretet driver skaper Javascript-drevet tomter, mens SVG driver skaper standardkompatible, XML-baserte SVG vektor bilder. Egenskapene er omtrent like; som du velger avhenger av utgangen mekanisme du ønsker. Men begge førerne gjøre bruk av dynamiske HTML5 elementer for å skape interaktive
graf objekter, der nettstedet besøkende kan zoome inn og ut av diagrammet, panorere, og veksle synligheten av etiketter, økser, og enkelte data Serien på vilje

For et eksempel på denne typen produksjon, vurdere interaktive lager eller vær nettsider.; mesteparten av tiden, vil man besøkende å være i stand til å justere parameterne for visualisering og se resultatene raskt. De forbedrede HTML lerret og SVG-drivere effektivt gjøre Gnuplot stand til å generere interaktive web-innhold som du kan forvente å finne på en full-blåst Ruby- eller Python-basert web-applikasjon – men det gjør det uten overhead av en søknad rammeverk.

handlingen tilspisser

Gnuplot er en stadig mer sjelden sample blant åpen kildekode-prosjekter, fordi det er like populær som et frittstående verktøy (for å kjøre analyser på datasett samlet inn separat) og som et bibliotek-lignende verktøy for andre datadrevne applikasjoner. Hva som forteller deg er at gode visualiseringer taler høyere enn ord. Enten du benchmarking et nytt filsystem én gang, kartlegging kontantstrøm på regelmessig basis, eller generere interaktive HTML5 tomter mens du gruven data, kan Gnuplot få jobben gjort.

De nye funksjonene, spesielt strukturerte kodeblokker, bare skal utvide hva folk kan gjøre med systemet. Oppdateringen er ny nok at vi bare begynner å se praktiske bruksområder for utvidede muligheter, men en ting er sikkert – vi vil se dem i et bredt spekter av bruksområder.