Stock events in Vue Stock chart component
3 Mar 202324 minutes to read
Stock Events visualizes stock events in stock chart. ‘SplineSeries’ is used to represent selected data value. You can customize the specific data value using stockEvents
event.
<template>
<div class="control-section">
<div>
<ejs-stockchart
style="display:block"
id="stockchartcontainer"
:primaryXAxis="primaryXAxis"
:primaryYAxis="primaryYAxis"
:chartArea="chartArea"
:crosshair="crosshair"
:tooltip="tooltip"
:seriesType="seriesType"
:title="title"
:indicatorType="indicator"
:border="border"
>
<e-stockchart-series-collection>
<e-stockchart-series
:dataSource="seriesData"
type="Spline"
xName="date"
name="Apple Inc"
yName="high"
close="high"
></e-stockchart-series>
</e-stockchart-series-collection>
<e-stockchart-stockevents>
<e-stockchart-stockevent :date="date1" text="Q2" description="2012 Quarter2 starts"
type="Flag" ></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date2" text="Open" description="Markets opened"
:textStyle="textStyle" background="#f48a21" :border="borderCircle" ></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date3" text="Q3" description="2013 Quarter3 starts"
type="Flag" :textStyle="textStyle" background="#6c6d6d" :border="borderFlag">
</e-stockchart-stockevent>
<e-stockchart-stockevent :date="date4" text="Q4" description="2013 Quarter4 starts"
type="Flag" :textStyle="textStyle" background="#6c6d6d" :border="borderFlag">
</e-stockchart-stockevent>
<e-stockchart-stockevent :date="date5" text="G" description="Google stocks bought"
:textStyle="textStyle" background="#f48a21" :border="borderCircle" >
</e-stockchart-stockevent>
<e-stockchart-stockevent :date="date6" text="Y" description="Yahoo stocks sold"
type="Square" :textStyle="textStyle" background="#841391" :border="borderSquare">
</e-stockchart-stockevent>
<e-stockchart-stockevent :date="date7" text="Y2" description="Year 2013" type="Pin"
:showOnSeries="onAxis" :textStyle="textStyle" background="#6322e0" :border="borderPin" ></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date8" text="Q2" description="2013 Quarter2 starts"
type="Flag" :textStyle="textStyle" background="#6c6d6d" :border="borderFlag">
</e-stockchart-stockevent>
<e-stockchart-stockevent :date="date9" text="Q2" description="Surge in Stocks" type="ArrowUp" :textStyle="textStyle" background="#3ab0f9" :border="borderArrow"
></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date10" text="Q3" description="2013 Quarter3 starts"
type="Flag" :textStyle="textStyle" background="#6c6c6d" :border="borderFlag"
></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date11" text="Q4" description="2013 Quarter4 starts"
type="Flag" :textStyle="textStyle" background="#6c6c6d" :border="borderFlag"
></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date12" text="Y3" description="Year 2014"
type="Pin" :showOnSeries="onAxis" :textStyle="textStyle" background="#6322e0"
:border="borderPin" ></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date13" text="Q2" description="2014 Quarter2 starts"
type="ArrowDown" :textStyle="textStyle" background="#3ab0f9" :border="borderArrow"
></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date14" text="Q3" description="2014 Quarter3 starts"
:textStyle="textStyle" background="#f48a21" :border="borderCircle" >
</e-stockchart-stockevent>
<e-stockchart-stockevent :date="date15" text="Q4" description="2014 Quarter4 starts"
type="Flag" :textStyle="textStyle" background="#6c6d6d" :border="borderFlag"
></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date16" text="Y4" description="Year 2015" type="Pin"
:showOnSeries="onAxis" :textStyle="textStyle" background="#6322e0"
:border="borderPin" ></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date17" text="End" description="Markets closed"
type="ArrowDown" :textStyle="textStyle" background="#3ab0f9" :border="borderArrow"
></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date18" text="A" description="This is event description"
:textStyle="textStyle" background="#f48a21" :border="borderCircle" ></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date19" text="Q1" description="Add longer text"
:textStyle="textStyle" background="#dd3c9f" :border="borderText" type="Text"
></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date20" text="Close" description="Markets closed"
:textStyle="textStyle" background="#f48a21" :border="borderCircle"
></e-stockchart-stockevent>
</e-stockchart-stockevents>
</ejs-stockchart>
</div>
</div>
</template>
<script>
import Vue from "vue";
import { chartData } from "./datasource.js";
import {
StockChartPlugin, DateTime, SplineSeries, Crosshair, Tooltip, RangeTooltip, LineSeries,
CandleSeries, HiloOpenCloseSeries, HiloSeries, RangeAreaSeries, Trendlines, EmaIndicator,
RsiIndicator, BollingerBands, TmaIndicator, MomentumIndicator, SmaIndicator, AtrIndicator,
AccumulationDistributionIndicator, MacdIndicator, StochasticIndicator, Export
} from "@syncfusion/ej2-vue-charts";
Vue.use(StockChartPlugin);
export default {
data() {
return {
seriesData: chartData,
seriesType: [],
indicator: [],
primaryXAxis: {
valueType: "DateTime",
majorGridLines: { color: "transparent" },
crosshairTooltip: { enable: true }
},
primaryYAxis: {
lineStyle: { color: "transparent" },
majorTickLines: { color: "transparent" },
crosshairTooltip: { enable: true }
},
chartArea: {
border: {
width: 0
}
},
date1: new Date(2012, 3, 1),
date2: new Date(2012, 3, 20),
date3: new Date(2012, 6, 1),
date4: new Date(2012, 9, 1),
date5: new Date(2012, 7, 30),
date6: new Date(2012, 10, 1),
date7: new Date(2012, 12, 0),
date8: new Date(2013, 3, 1),
date9: new Date(2013, 3, 20),
date10: new Date(2013, 6, 1),
date11: new Date(2013, 9, 1),
date12: new Date(2013, 12, 0),
date13: new Date(2014, 3, 1),
date14: new Date(2014, 6, 1),
date15: new Date(2014, 9, 1),
date16: new Date(2014, 12, 0),
date17: new Date(2014, 2, 2),
date18: new Date(2015, 1, 7),
date19: new Date(2015, 1, 2),
date20: new Date(2015, 2, 12),
textStyle: { color: "white" },
borderFlag: { color: '#6c6d6d'},
borderSquare: { color: '#841391'},
borderArrow: { color: '#3ab0f9'},
borderPin: { color: '#6233e0'},
borderText: { color: '#dd3c9f'},
borderCircle: { color: '#f48a21'},
title: "AAPL Stock Price",
tooltip: { enable: true },
crosshair: { enable: true },
border: { width: 0 },
onAxis: false
};
},
provide: {
stockChart: [
DateTime, SplineSeries, Crosshair,Tooltip, RangeTooltip, LineSeries,
CandleSeries, HiloOpenCloseSeries, HiloSeries, RangeAreaSeries, Trendlines, EmaIndicator,
RsiIndicator, BollingerBands, TmaIndicator, MomentumIndicator, SmaIndicator, AtrIndicator,
AccumulationDistributionIndicator, MacdIndicator, StochasticIndicator, Export
]
},
methods: {}
};
</script>
<style>
#container {
height: 350px;
}
</style>
Stock Events for individual series
By default, stock events will be showed for all series. Now, you can set the stock events for particular series using seriesIndexes
property.
<template>
<div class="control-section">
<div>
<ejs-stockchart
style="display:block"
id="stockchartcontainer"
:primaryXAxis="primaryXAxis"
:primaryYAxis="primaryYAxis"
:chartArea="chartArea"
:crosshair="crosshair"
:tooltip="tooltip"
:seriesType="seriesType"
:title="title"
:indicatorType="indicator"
:border="border"
>
<e-stockchart-series-collection>
<e-stockchart-series
:dataSource="seriesData"
type="Spline"
xName="date"
yName="high"
></e-stockchart-series>
<e-stockchart-series
:dataSource="seriesData"
type="Spline"
xName="date"
yName="low"
></e-stockchart-series>
<e-stockchart-series
:dataSource="seriesData"
type="Spline"
xName="date"
yName="open"
></e-stockchart-series>
</e-stockchart-series-collection>
<e-stockchart-stockevents>
<e-stockchart-stockevent :date="date1" text="Q2" description="2012 Quarter2 starts"
type="Flag" :seriesIndexes="index1"></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date2" text="Open" description="Markets opened"
:textStyle="textStyle" background="#f48a21" :border="borderCircle" ></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date3" text="Q3" description="2013 Quarter3 starts"
type="Flag" :textStyle="textStyle" background="#6c6d6d" :border="borderFlag" :seriesIndexes="index2">
</e-stockchart-stockevent>
<e-stockchart-stockevent :date="date4" text="Q4" description="2013 Quarter4 starts"
type="Flag" :textStyle="textStyle" background="#6c6d6d" :border="borderFlag" :seriesIndexes="index3">
</e-stockchart-stockevent>
<e-stockchart-stockevent :date="date5" text="G" description="Google stocks bought"
:textStyle="textStyle" background="#f48a21" :border="borderCircle" >
</e-stockchart-stockevent>
<e-stockchart-stockevent :date="date6" text="Y" description="Yahoo stocks sold"
type="Square" :textStyle="textStyle" background="#841391" :border="borderSquare" :seriesIndexes="index4">
</e-stockchart-stockevent>
<e-stockchart-stockevent :date="date7" text="Y2" description="Year 2013" type="Pin"
:showOnSeries="onAxis" :textStyle="textStyle" background="#6322e0" :border="borderPin" ></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date8" text="Q2" description="2013 Quarter2 starts"
type="Flag" :textStyle="textStyle" background="#6c6d6d" :border="borderFlag" :seriesIndexes="index5">
</e-stockchart-stockevent>
<e-stockchart-stockevent :date="date9" text="Q2" description="Surge in Stocks" type="ArrowUp" :textStyle="textStyle" background="#3ab0f9" :border="borderArrow" :seriesIndexes="index6"
></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date10" text="Q3" description="2013 Quarter3 starts"
type="Flag" :textStyle="textStyle" background="#6c6c6d" :border="borderFlag"
></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date11" text="Q4" description="2013 Quarter4 starts"
type="Flag" :textStyle="textStyle" background="#6c6c6d" :border="borderFlag"
></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date12" text="Y3" description="Year 2014"
type="Pin" :showOnSeries="onAxis" :textStyle="textStyle" background="#6322e0"
:border="borderPin" ></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date13" text="Q2" description="2014 Quarter2 starts"
type="ArrowDown" :textStyle="textStyle" background="#3ab0f9" :border="borderArrow" :seriesIndexes="index7"
></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date14" text="Q3" description="2014 Quarter3 starts"
:textStyle="textStyle" background="#f48a21" :border="borderCircle" >
</e-stockchart-stockevent>
<e-stockchart-stockevent :date="date15" text="Q4" description="2014 Quarter4 starts"
type="Flag" :textStyle="textStyle" background="#6c6d6d" :border="borderFlag" :seriesIndexes="index8"
></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date16" text="Y4" description="Year 2015" type="Pin"
:showOnSeries="onAxis" :textStyle="textStyle" background="#6322e0"
:border="borderPin" ></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date17" text="End" description="Markets closed"
type="ArrowDown" :textStyle="textStyle" background="#3ab0f9" :border="borderArrow" :seriesIndexes="index9"
></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date18" text="A" description="This is event description"
:textStyle="textStyle" background="#f48a21" :border="borderCircle" ></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date19" text="Q1" description="Add longer text"
:textStyle="textStyle" background="#dd3c9f" :border="borderText" type="Text" :seriesIndexes="index1"
></e-stockchart-stockevent>
<e-stockchart-stockevent :date="date20" text="Close" description="Markets closed"
:textStyle="textStyle" background="#f48a21" :border="borderCircle" :seriesIndexes="index2"
></e-stockchart-stockevent>
</e-stockchart-stockevents>
</ejs-stockchart>
</div>
</div>
</template>
<script>
import Vue from "vue";
import { chartData } from "./datasource.js";
import {
StockChartPlugin, DateTime, SplineSeries, Crosshair, Tooltip, RangeTooltip, LineSeries,
CandleSeries, HiloOpenCloseSeries, HiloSeries, RangeAreaSeries, Trendlines, EmaIndicator,
RsiIndicator, BollingerBands, TmaIndicator, MomentumIndicator, SmaIndicator, AtrIndicator,
AccumulationDistributionIndicator, MacdIndicator, StochasticIndicator, Export
} from "@syncfusion/ej2-vue-charts";
Vue.use(StockChartPlugin);
export default {
data() {
return {
seriesData: chartData,
seriesType: [],
indicator: [],
primaryXAxis: {
valueType: "DateTime",
majorGridLines: { color: "transparent" },
crosshairTooltip: { enable: true }
},
primaryYAxis: {
lineStyle: { color: "transparent" },
majorTickLines: { color: "transparent" },
crosshairTooltip: { enable: true }
},
chartArea: {
border: {
width: 0
}
},
date1: new Date(2012, 3, 1),
date2: new Date(2012, 3, 20),
date3: new Date(2012, 6, 1),
date4: new Date(2012, 9, 1),
date5: new Date(2012, 7, 30),
date6: new Date(2012, 10, 1),
date7: new Date(2012, 12, 0),
date8: new Date(2013, 3, 1),
date9: new Date(2013, 3, 20),
date10: new Date(2013, 6, 1),
date11: new Date(2013, 9, 1),
date12: new Date(2013, 12, 0),
date13: new Date(2014, 3, 1),
date14: new Date(2014, 6, 1),
date15: new Date(2014, 9, 1),
date16: new Date(2014, 12, 0),
date17: new Date(2014, 2, 2),
date18: new Date(2015, 1, 7),
date19: new Date(2015, 1, 2),
date20: new Date(2015, 2, 12),
textStyle: { color: "white" },
borderFlag: { color: '#6c6d6d'},
borderSquare: { color: '#841391'},
borderArrow: { color: '#3ab0f9'},
borderPin: { color: '#6233e0'},
borderText: { color: '#dd3c9f'},
borderCircle: { color: '#f48a21'},
title: "AAPL Stock Price",
tooltip: { enable: true },
crosshair: { enable: true },
border: { width: 0 },
onAxis: false,
index1: [0],
index2: [1],
index3: [2],
index4: [0],
index5: [1],
index6: [2],
index7: [0],
index8: [1],
index9: [2]
};
},
provide: {
stockChart: [
DateTime, SplineSeries, Crosshair,Tooltip, RangeTooltip, LineSeries,
CandleSeries, HiloOpenCloseSeries, HiloSeries, RangeAreaSeries, Trendlines, EmaIndicator,
RsiIndicator, BollingerBands, TmaIndicator, MomentumIndicator, SmaIndicator, AtrIndicator,
AccumulationDistributionIndicator, MacdIndicator, StochasticIndicator, Export
]
},
methods: {}
};
</script>
<style>
#container {
height: 350px;
}
</style>