2016-02-02 4 views
9

Ich bin für einen bestimmten Stil von Javascript oder SVG-Chart-Bibliothek suchen, der ein Google Chart (example)Google-like Stock Chart/Liniendiagramm

Google search: "NASDAQ: GOOG" shows a stock chart like this. seit einiger Zeit ähnelt

Ich habe gesucht, aber kann nichts finden das ähnelt diesem Stil sehr, und ich war neugierig, ob mir jemand in die richtige Richtung zeigen könnte, um ein ähnliches Endergebnis zu erzielen.

Ich habe in die Google Visualization API geschaut und versucht, eine Line Chart in JSFiddle machen, aber kann nicht scheinen, diesen Stil des Designs zu replizieren. Irgendein Rat?

See Example Image 

Javascript, SVG und AngularJS sind alle akzeptabel für die Kopfgeld-Belohnung. Bonuspunkte für SVG.

+1

In welcher Weise ist nicht das Diagramm in der jsfiddle über das Diagramm passend? Es sieht sehr nah an mir aus (was ich denke, ist keine Überraschung, da beide Google-Charts sind). Wenn Sie Daten in der x-Achse haben möchten, müssen Sie nur den richtigen Achsentyp und Objekte in den Daten angeben, siehe das Update unter: https://jsfiddle.net/wbufx12p/1/ – mgraham

+1

Hier sind ein paar Ressourcen, die helfen könnten: http://stackoverflow.com/questions/793808/svg-charting-library ... http://www.sitepoint.com/15-best-javascript-charting-libraries/ – LGSon

+0

Ich wollte nur sagen, danke für die Beratung @mgraham und LGSon - hier ist, wo ich bisher bin: https://jsfiddle.net/jaggedsoftware/tr5dsgwL/ – jaggedsoft

Antwort

4

First Screenshot

Dies ist der nächstgelegene ich habe es geschafft, zu bekommen, und ich glaube, ich einen ziemlich guten Job die Anforderungen gegeben hat.

Wenn Sie den Tooltip immer mögen, wenn Sie über das Diagramm sind schweben (Example: Google Trends) dieser (Example JSFiddle) mit der focusTarget Option erreicht werden kann, die derzeit nur mit klassischen Google-Charts und nicht die neuen Material-Charts funktioniert.

google.charts.load('current', { packages: ['line'] }); 
 
google.charts.setOnLoadCallback(drawBasic); 
 

 
function drawBasic() { 
 

 
    var data = new google.visualization.DataTable(); 
 
    data.addColumn('date', 'X'); 
 
    data.addColumn('number', 'Dogs'); 
 

 
    data.addRows([ 
 
    [new Date(2015, 9, 28), 6], 
 
    [new Date(2015, 9, 29), 10], 
 
    [new Date(2015, 9, 30), 19], 
 
    [new Date(2015, 10, 0), 14], 
 
    [new Date(2015, 10, 1), 16], 
 

 
    ]); 
 

 
    var options = { 
 
    colors: ["#4184F3"], 
 
    lineWidth: 3, 
 
    legend: { 
 
     position: "none" 
 
    }, 
 
    hAxis: { 
 
     pointSize: 2, 
 
     format: 'MMM d', 
 
     title: '', 
 
     titlePosition: 'none' 
 
    }, 
 
    vAxis: { 
 
     title: 'Popularity' 
 
    } 
 
    }; 
 

 
    var chart = new google.charts.Line(document.getElementById('chart_div')); 
 
    chart.draw(data, google.charts.Line.convertOptions(options)); 
 
}
#chart_div svg g circle { 
 
    stroke: #4184F3 !important; 
 
    fill-opacity: 1; 
 
    r: 5; 
 
    fill: #4184F3 !important; 
 
    filter: none !important; 
 
} 
 
#chart_div svg g circle:hover { 
 
    r: 8 
 
} 
 
#chart_div svg g path { 
 
    stroke-width: 4 !important; 
 
    stroke: #4184F3 !important; 
 
    stroke-linejoin: bevel; 
 
    stroke-width: 1; 
 
    stroke-linecap: round; 
 
    filter: none !important; 
 
}
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> 
 
<div id="chart_div"></div>

+0

Siehe Thread: Google-Visualisierung-API: [Anfrage für Fokus-Ziel, um Material-Charts zu bearbeiten] (https://groups.google.com/forum/#!topic/google-visualization-api/Ol2yVy6mrVE) – jaggedsoft

+0

bitte sehen Sie meine Frage vielleicht hast du eine Idee http://stackoverflow.com/questions/37256487/i-want-to-change-the-chart-for-each-city-or-subcity-selected – Abderrahim

+0

Ich empfehle http: // metricsgraphicsjs.org/examples.html – jaggedsoft