Tuesday 15 September 2015

java - JFreeChart Candlestick pointer -



java - JFreeChart Candlestick pointer -

i have jfreechart this:

and want add together mouse pointer chart similar highcharts uses:

here variation of code shown here creates jfreechart:

import org.jfree.data.xy.abstractxydataset; import org.jfree.data.xy.defaultohlcdataset; import org.jfree.data.xy.*; import org.jfree.chart.*; import org.jfree.chart.axis.*; import org.jfree.chart.plot.xyplot; import org.jfree.chart.renderer.xy.candlestickrenderer; import java.awt.*; import java.io.*; import java.net.url; import java.text.*; import java.util.*; public class chartohlc extends chartpanel { public chartohlc() { super(dajgraf()); setmaximumdrawheight(2000); setmaximumdrawwidth(3000); } public static jfreechart dajgraf() { // premenne string stocksymbol = "aapl"; final dateaxis domainaxis = new dateaxis("date"); numberaxis rangeaxis = new numberaxis("price"); candlestickrenderer renderer = new candlestickrenderer(); xydataset dataset = getdataset(stocksymbol); xyplot mainplot = new xyplot(dataset, domainaxis, rangeaxis, renderer); //do setting up, see api doc renderer.setseriespaint(0, color.black); renderer.setdrawvolume(false); rangeaxis.setautorangeincludeszero(false); //now create chart , chart panel jfreechart chart = new jfreechart(null, null, mainplot, false); mainplot.setdomainpannable(true); mainplot.setrangepannable(true); homecoming chart; } private static abstractxydataset getdataset(string stocksymbol) { //this dataset going create defaultohlcdataset result; //this info needed dataset ohlcdataitem[] data; //this go data, replace own info source info = getdata(stocksymbol); //create dataset, open, high, low, close dataset result = new defaultohlcdataset(stocksymbol, data); homecoming result; } private static ohlcdataitem[] getdata(string stocksymbol) { arraylist<ohlcdataitem> dataitems = new arraylist<ohlcdataitem>(); seek { string strurl = "http://ichart.yahoo.com/table.csv?s=" + stocksymbol + "&a=2&b=1&c=2014&d=3&e=1&f=2014&g=d&ignore=.csv"; system.out.println(strurl); url url = new url(strurl); bufferedreader in = new bufferedreader(new inputstreamreader(url.openstream())); dateformat df = new simpledateformat("y-m-d"); string inputline; in.readline(); while ((inputline = in.readline()) != null) { stringtokenizer st = new stringtokenizer(inputline, ","); date date = df.parse(st.nexttoken()); double open = double.parsedouble(st.nexttoken()); double high = double.parsedouble(st.nexttoken()); double low = double.parsedouble(st.nexttoken()); double close = double.parsedouble(st.nexttoken()); double volume = double.parsedouble(st.nexttoken()); double adjclose = double.parsedouble(st.nexttoken()); ohlcdataitem item = new ohlcdataitem(date, open, high, low, close, volume); dataitems.add(item); } in.close(); } grab (exception e) { e.printstacktrace(system.err); } //data yahoo newest oldest. reverse oldest newest collections.reverse(dataitems); //convert list array ohlcdataitem[] info = dataitems.toarray(new ohlcdataitem[dataitems.size()]); homecoming data; } }

is possible add together mouse pointer candlestick jfreechart?

java jfreechart candlestick-chart

No comments:

Post a Comment