700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java echarts 生成图片_java如何在后台生成echarts图表?实际代码展示

java echarts 生成图片_java如何在后台生成echarts图表?实际代码展示

时间:2022-12-23 16:11:09

相关推荐

java echarts 生成图片_java如何在后台生成echarts图表?实际代码展示

学习是一个永无止境的过程,关于java的学习更是如此。今天主要为大家介绍下,如何在java中后台生成echarts图表,并且为大家展示实际的操作流程。

首先说下它的适用情况:⑴、支持echart4.0最新版本;⑵、支持上万条数据,网上只能查询几百条,然后拼接在cmd命令中,这种方法采用java生成的optons

json数据写成文件,把文件地址拼装在cmd中js去读文件。

然后是具体的操作流程。

首先:java后台拼接option,图片展示如下:

然后:使用java传cmd命令调用PhantomJS生成echarts图片(测试方法中option是写死)。代码展示如下:publicclassEchartGenerate

{

privatestaticfinalStringJSpath="C:\\echarts-convert\\echarts-convert1.js";

privatestaticfinalLoggerlogger=Logger.getLogger(ReportUtils.class);

publicstaticvoidmain(String[]args)

{

StringimgName="E:/temp/Echart/tes"+UUID.randomUUID()

.toString()

.substring(0,4)+".png";

Stringoptiona="{\"title\":{\"text\":\"电流图\",\"subtext\":\"电流图\",\"x\":\"left\"},\"toolbox\":{\"feature\":{\"saveAsImage\":{\"show\":true,\"title\":\"保存为图片\",\"type\":\"png\",\"lang\":[\"点击保存\"]}},\"show\":true},\"tooltip\":{\"trigger\":\"axis\"},\"legend\":{\"data\":[\"邮件营销\",\"联盟广告\",\"视频广告\"]},\"xAxis\":[{\"type\":\"category\",\"boundaryGap\":false,\"data\":[\"周一\",\"周二\",\"周三\",\"周四\",\"周五\",\"周六\",\"周日\"]}],\"yAxis\":[{\"type\":\"value\"}],\"series\":[{\"name\":\"邮件营销\",\"type\":\"line\",\"stack\":\"总量\",\"data\":[120,132,101,134,90,230,210]},{\"name\":\"联盟广告\",\"type\":\"line\",\"stack\":\"总量\",\"data\":[220,182,191,234,290,330,310]},{\"name\":\"视频广告\",\"type\":\"line\",\"stack\":\"总量\",\"data\":[150,232,201,154,190,330,410]}]}";

//Stringoptions="test";

MapresultMap=newHashMap();

generateEChart(optiona,resultMap);

}

publicstaticStringgenerateEChart(Stringoptions,MapresultMap)

{

StringdataPath=writeFile(options);

StringfileName="test-"+UUID.randomUUID()

.toString()

.substring(0,8)+".png";

Stringpath="D:/temp/Echart/"+fileName;

try

{

Filefile=newFile(path);//文件路径(路径+文件名)

if(!file.exists())

{//文件不存在则创建文件,先创建目录

Filedir=newFile(file.getParent());

dir.mkdirs();

file.createNewFile();

}

Stringcmd="phantomjs"+JSpath+"-infile"+dataPath+"-outfile"+path;

Processprocess=Runtime.getRuntime()

.exec(cmd);

BufferedReaderinput=newBufferedReader(newInputStreamReader(process.getInputStream()));

Stringline="";

while((line=input.readLine())!=null)

{

logger.info(line);

}

input.close();

}

catch(IOExceptione)

{

e.printStackTrace();

}

finally

{

returnpath;

}

}

publicstaticStringwriteFile(Stringoptions)

{

StringdataPath="D:\\chartData\\data"+UUID.randomUUID()

.toString()

.substring(0,8)+".json";

try

{

/*写入Txt文件*/

Filewritename=newFile(dataPath);//相对路径,如果没有则要建立一个新的output.txt文件

if(!writename.exists())

{//文件不存在则创建文件,先创建目录

Filedir=newFile(writename.getParent());

dir.mkdirs();

writename.createNewFile();//创建新文件

}

BufferedWriterout=newBufferedWriter(newFileWriter(writename));

out.write(options);//\r\n即为换行

out.flush();//把缓存区内容压入文件

out.close();//最后记得关闭文件

}

catch(IOExceptione)

{

e.printStackTrace();

}

returndataPath;

}

}

最后:echarts-convert.js,图片展示如下:

以上就是有关java如何在后台生成echatrs图表的具体操作流程。想要了解更多java基础,敬请关注奇Q工具网。

推荐阅读:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。