JSFiddle - React, Tailwind, and code Playground
by amcharts
HTML
<script src="http://www.amcharts.com/lib/amstock.js" type="text/javascript"></script>
<div id="stockdiv" style="width:100%; height:380px"/>
JavaScript
AmCharts.ready(function() {
generateChartData();
createStockChart();
});
var chart;
var chartData = [];
var stockPanel;
function generateChartData() {
var firstDate = new Date();
firstDate.setHours(0, 0, 0, 0);
firstDate.setDate(firstDate.getDate() - 800);
for (var i = 0; i < 800; i++) {
var newDate = new Date(firstDate);
newDate.setDate(newDate.getDate() + i);
var open = Math.round(Math.random() * (30) + 100);
var close = open + Math.round(Math.random() * (15) - Math.random() * 10);
var low
if (open < close) {
low = open - Math.round(Math.random() * 5);
}
else {
low = close - Math.round(Math.random() * 5);
}
var high;
if (open < close) {
high = close + Math.round(Math.random() * 5);
}
else {
high = open + Math.round(Math.random() * 5);
}
var volume = Math.round(Math.random() * (1000 + i)) + 100 + i;
chartData[i] = ({
date: newDate,
open: open,
close: close,
high: high,
low: low,
volume: volume
});
}
}
function createStockChart() {
chart = new AmCharts.AmStockChart();
chart.pathToImages = "http://www.amcharts.com/lib/images/";
// DATASET //////////////////////////////////////////
var dataSet = new AmCharts.DataSet();
dataSet.fieldMappings = [{
fromField: "open",
toField: "open"},
{
fromField: "close",
toField: "close"},
{
fromField: "high",
toField: "high"},
{
fromField: "low",
toField: "low"},
{
fromField: "volume",
toField: "volume"},
{
fromField: "value",
toField: "value"}
];
dataSet.color = "#7f8da9";
dataSet.dataProvider = chartData;
...