Your search did not match any results.
Financial Charts

Candlestick

Documentation

In this demo, the candle stick series displays variations in stock price throughout the course of a given day. Each point consists of a rectangle (body) whose bottom and topmost values correspond to the opening and closing price of a stock. A vertical line (shadow, wick or tail) displays the high and low price for the stock. If the stock closes higher than its opening price, no color fills its body and if the stock closes lower than its opening price, a color fill is applied.

bigcharts.marketwatch.com
Copy to CodeSandBox
Apply
Reset
<template> <dx-chart id="chart" :data-source="dataSource" title="Stock Price" > <dx-common-series-settings argument-field="date" type="candlestick" /> <dx-series name="DELL" open-value-field="o" high-value-field="h" low-value-field="l" close-value-field="c" > <dx-reduction color="red"/> </dx-series> <dx-argument-axis :workdays-only="true"> <dx-label format="shortDate"/> </dx-argument-axis> <dx-value-axis :tick-interval="1"> <dx-title text="US dollars"/> <dx-label> <dx-format :precision="0" type="currency" /> </dx-label> </dx-value-axis> <dx-legend item-text-position="left"/> <dx-export :enabled="true"/> <dx-tooltip :enabled="true" :customize-tooltip="customizeTooltip" location="edge" /> </dx-chart> </template> <script> import DxChart, { DxCommonSeriesSettings, DxSeries, DxReduction, DxArgumentAxis, DxLabel, DxFormat, DxValueAxis, DxTitle, DxLegend, DxExport, DxTooltip } from 'devextreme-vue/chart'; import { dataSource } from './data.js'; export default { components: { DxChart, DxCommonSeriesSettings, DxSeries, DxReduction, DxArgumentAxis, DxLabel, DxFormat, DxValueAxis, DxTitle, DxLegend, DxExport, DxTooltip }, data() { return { dataSource }; }, methods: { customizeTooltip(pointInfo) { return { text: `Open: $${pointInfo.openValue}<br/> Close: $${pointInfo.closeValue}<br/> High: $${pointInfo.highValue}<br/> Low: $${pointInfo.lowValue}<br/>` }; } } }; </script> <style> #chart { height: 440px; } </style>
import Vue from 'vue'; import App from './App.vue'; new Vue({ el: '#app', components: { App }, template: '<App/>' });
<!DOCTYPE html> <html> <head> <title>DevExtreme Demo</title> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/19.2.4/css/dx.common.css" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/19.2.4/css/dx.light.css" /> <script src="https://unpkg.com/core-js@2.4.1/client/shim.min.js"></script> <script src="https://unpkg.com/systemjs@0.21.3/dist/system.js"></script> <script type="text/javascript" src="config.js"></script> <script type="text/javascript"> System.import('./index.js'); </script> </head> <body class="dx-viewport"> <div class="demo-container"> <div id="app"> </div> </div> </body> </html>
export const dataSource = [{ date: new Date(1994, 2, 1), l: 24.00, h: 25.00, o: 25.00, c: 24.875 }, { date: new Date(1994, 2, 2), l: 23.625, h: 25.125, o: 24.00, c: 24.875 }, { date: new Date(1994, 2, 3), l: 26.25, h: 28.25, o: 26.75, c: 27.00 }, { date: new Date(1994, 2, 4), l: 26.50, h: 27.875, o: 26.875, c: 27.25 }, { date: new Date(1994, 2, 7), l: 26.375, h: 27.50, o: 27.375, c: 26.75 }, { date: new Date(1994, 2, 8), l: 25.75, h: 26.875, o: 26.75, c: 26.00 }, { date: new Date(1994, 2, 9), l: 25.75, h: 26.75, o: 26.125, c: 26.25 }, { date: new Date(1994, 2, 10), l: 25.75, h: 26.375, o: 26.375, c: 25.875 }, { date: new Date(1994, 2, 11), l: 24.875, h: 26.125, o: 26.00, c: 25.375 }, { date: new Date(1994, 2, 14), l: 25.125, h: 26.00, o: 25.625, c: 25.75 }, { date: new Date(1994, 2, 15), l: 25.875, h: 26.625, o: 26.125, c: 26.375 }, { date: new Date(1994, 2, 16), l: 26.25, h: 27.375, o: 26.25, c: 27.25 }, { date: new Date(1994, 2, 17), l: 26.875, h: 27.25, o: 27.125, c: 26.875 }, { date: new Date(1994, 2, 18), l: 26.375, h: 27.125, o: 27.00, c: 27.125 }, { date: new Date(1994, 2, 21), l: 26.75, h: 27.875, o: 26.875, c: 27.75 }, { date: new Date(1994, 2, 22), l: 26.75, h: 28.375, o: 27.50, c: 27.00 }, { date: new Date(1994, 2, 23), l: 26.875, h: 28.125, o: 27.00, c: 28.00 }, { date: new Date(1994, 2, 24), l: 26.25, h: 27.875, o: 27.75, c: 27.625 }, { date: new Date(1994, 2, 25), l: 27.50, h: 28.75, o: 27.75, c: 28.00 }, { date: new Date(1994, 2, 28), l: 25.75, h: 28.25, o: 28.00, c: 27.25 }, { date: new Date(1994, 2, 29), l: 26.375, h: 27.50, o: 27.50, c: 26.875 }, { date: new Date(1994, 2, 30), l: 25.75, h: 27.50, o: 26.375, c: 26.25 }, { date: new Date(1994, 2, 31), l: 24.75, h: 27.00, o: 26.50, c: 25.25 }];
System.config({ transpiler: 'plugin-babel', paths: { 'npm:': 'https://unpkg.com/' }, map: { vue: 'npm:vue@2.6.3/dist/vue.esm.browser.js', 'vue-loader': 'npm:dx-systemjs-vue-browser@latest/index.js', 'devextreme': 'npm:devextreme@19.2', 'devextreme-vue': 'npm:devextreme-vue@19.2', jszip: 'npm:jszip@3.1.3/dist/jszip.min.js', 'quill': 'npm:quill@1.3.7/dist/quill.js', 'devexpress-diagram': 'npm:devexpress-diagram', 'devexpress-gantt': 'npm:devexpress-gantt', 'plugin-babel': 'npm:systemjs-plugin-babel@0/plugin-babel.js', 'systemjs-babel-build': 'npm:systemjs-plugin-babel@0/systemjs-babel-browser.js' }, meta: { '*.vue': { loader: 'vue-loader' } }, packages: { 'devextreme-vue': { main: 'index.js' }, 'devextreme': { defaultExtension: 'js' } }, babelOptions: { sourceMaps: false, stage0: true } });