数据

    O700    O2833
O700 O331
O700 O3425
O700 O350
O700 O3516
O700 O3826

读取文件类

public class FileReadFromHdfs {

    public static List<Data>  getStringByTXT()
{ Configuration conf=new Configuration();
String txtFilePath = "hdfs://地址:9000/文件";
StringBuffer buffer = new StringBuffer();
FSDataInputStream fsr = null;
BufferedReader bufferedReader = null;
String lineTxt = null; List<Data> datas=new ArrayList<Data>();
try
{
FileSystem fs = FileSystem.get(URI.create(txtFilePath),conf);
fsr = fs.open(new Path(txtFilePath));
bufferedReader = new BufferedReader(new InputStreamReader(fsr));
while ((lineTxt = bufferedReader.readLine()) != null)
{
String line=lineTxt.toString();
String[] arr=line.split("\t");
Data data=new Data();
data.setaString(arr[]);
data.setbString(arr[]);
//data.setcString(arr[2]);
datas.add(data); }
} catch (Exception e)
{
e.printStackTrace();
} finally
{
if (bufferedReader != null)
{
try
{
bufferedReader.close();
} catch (IOException e)
{
e.printStackTrace();
}
}
}
return datas;
}

echarts关系图页面

<title>数据分析</title>
</head>
<body>
<%
FileReadFromHdfs4 fileReadFromHdfs4 =new FileReadFromHdfs4();
List<Plane> planes=fileReadFromHdfs4.getStringByTXT();
FileReadFromHdfs5 fileReadFromHdfs5 = new FileReadFromHdfs5();
List<HangXian> hangXians =fileReadFromHdfs5.getStringByTXT();
%>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="height:800px;width: 1500px"></div>
<!-- ECharts单文件引入 -->
<script src="echarts.js"></script>
<script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/echarts.min.js"></script>
<script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts-gl/echarts-gl.min.js"></script>
<script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts-stat/ecStat.min.js"></script>
<script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/extension/dataTool.min.js"></script>
<script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/map/js/china.js"></script>
<script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/map/js/world.js"></script>
<script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=ZUONbpqGBsYGXNIYHicvbAbM"></script>
<script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/extension/bmap.min.js"></script>
<script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/simplex.js"></script>
<script type="text/javascript">
var w = 400; // svg宽度
var h = 200; // svg高度
var dataset = []; // 坐标点数据集合
var xRange = Math.random() * 1000; // x坐标的范围
var yRange = Math.random() * 1000; // y坐标的范围
var num = 50; // 点的个数
var padding = 50; // 描点区域距离svg边界的间距
// 基于准备好的dom,初始化echarts图表
var myChart = echarts.init(document.getElementById('main')); var option = {
title: {
text: 'NPM Dependencies'
},
animationDurationUpdate: 1500,
animationEasingUpdate: 'quinticInOut',
series : [
{
type: 'graph',
layout: 'none',
// progressiveThreshold: 700,
data:[
<%
Plane[] planes2 =new Plane[planes.size()/30];
for(int i=0 ; i<(planes2.length ); i++)
{
planes2[i]=planes.get(i);
int num=Integer.parseInt(planes2[i].getNum());
%>
{
x: Math.floor(Math.random()*xRange),
y: Math.floor(Math.random()*yRange),
name:'<%=planes2[i].getStart()%>',
symbolSize: <%=num/10000%>,
itemStyle: {
normal: {
color:'#'+Math.floor(Math.random()*0xffffff).toString(16)
}
} },
<%
}
%> ],
edges: [
<%
HangXian[] hangXians2=new HangXian[hangXians.size()];
for(int j=0;j<hangXians2.length;j++){
hangXians2[j]=hangXians.get(j);
%>
{
source:'<%=hangXians2[j].getStart()%>',
target:'<%=hangXians2[j].getEnd()%>',
},
<%
}
%>
],
label: {
emphasis: {
position: 'right',
show: true
}
},
roam: true,
focusNodeAdjacency: true,
lineStyle: {
normal: {
width: 0.5,
curveness: 0.3,
opacity: 0.7
}
}
}
]
}; // 为echarts对象加载数据
myChart.setOption(option);
</script>
</body>
</html>

hadoop下生成echarts关系图的更多相关文章

  1. Python - 使用objgraph生成对象引用关系图

    1- objgraph简介 HomePage:https://mg.pov.lt/objgraph/ PyPI:https://pypi.org/project/objgraph/ 一般用于分析pyt ...

  2. Echarts关系图-力引导布局

    需要做一个树形图,可以查看各个人员的关系. 可伸缩的力引导图-失败 刚开始,打算做一个可展开和伸缩的,搜索时候发现CSDN有一篇美美哒程序媛写的Echarts Force力导向图实现节点可折叠. 这里 ...

  3. Echarts 关系图 添加点击事件

    /*实现的效果是:在关系图上加点击事件,点击某个点,得到改点代表的内容,并且实现一个跳转效果. 关键代码已用红色标出*/ <!DOCTYPE html> <html lang=&qu ...

  4. eclipse下生成Java类图和时序图,生成UML图

    1.安装和使用AmaterasUML 安装AmaterasUML前,需要先安装GEF采用eclipse在线安装方式安装就好.eclipse在线安装GEF的地址:http://download.ecli ...

  5. 使用egypt+graphviz生成函数调用关系图示例

    总结: make  (-fdump-rtl-expand)  去除编译优化,比如-O3 egypt test.c.128r.expand >test.dot  可以手动打开dot文件去除一些孤立 ...

  6. echarts关系图圆心颜色渐变

    let option = { backgroundColor: '#1a4377', animationDurationUpdate: 1500, // 动画更新变化时间 animationEasin ...

  7. 201706 gem 'rails-erd'生成Model关系图

    [工具]一张图理清各个model之间关系 安装 Graphviz 2.22+: 终端机中执行 brew install graphviz Gemfile中添加 gem 'rails-erd' 终端机中 ...

  8. vue下使用echarts折线图及其横坐标拖拽功能

    vue页面中使用折线图,并且有时间段筛选.因此就需要用到横坐标的拖拽功能. 界面效果如下: 现在来看这个效果的实现代码: drawLine() { let that = this, lineDate ...

  9. Echarts——关系图(人民的名义为例,简化)源码

    参考博文:https://www.cnblogs.com/emrys5/p/echart-relationship-map.html <!DOCTYPE html> <html> ...

随机推荐

  1. 关机命令 shutdown

    参考资料:[http://jingyan.baidu.com/article/49ad8bce705f3f5834d8faec.html]

  2. LR接口测试案例(录制)

  3. HTML标签-->列表,表格

    只有努力奔跑,才能一直停留在原地. 无序列表 <ul><!--默认列表编号为(实心圆)--> <li>第一项</li> <li>第二项< ...

  4. 关于Vue的一些事

    Vue的官方网站 https://cn.vuejs.org/ Vue中的一些重点 router Vuex 知其然,后知其所以然 这是一篇Vue的源码解读 http://hcysun.me/2017/0 ...

  5. openvswitch安装与使用

    wget http://openvswitch.org/releases/openvswitch-2.4.1.tar.gz tar -xvf openvswitch-2.4.1.tar.gz cd o ...

  6. 【五一qbxt】test2

    又犯了一些迷之错误??要不然yy鼠标就是我的了 1.Superman: 小姐姐的题解:直接用set模拟即可emmmm 里面有很多指针啊,乱七八糟的,不会qwq,先看看我的大模拟吧: #include& ...

  7. C++中的数据类模板

    1,预备知识: 1,模板参数可以是数值型参数(非类型参数): 1,代码示例: template <typename T, int N> void func() { T a[N]; // 使 ...

  8. cs244a-Introduction to Computer Networking-Unit2

    Unit2: Transport 学习目标: how TCP set up a connection what TCP segment looks like how can TCP be in hig ...

  9. vim下使用UltiSnips

    vim下使用UltiSnips 最近在学习Linux编程,相应的也在学vim.vim中的UltiSnips插件可以实现比一般的代码补全更为强大的效果.这里就记录一下吧. UltiSnips安装.基础及 ...

  10. vue-element-ui upload组件调用两次接口

    在使用upload中,默认是自动上传,会发现会调用两次接口,一次是Request Method: OPTIONS且不带任何参数(群里大佬说是跨域 预检测),一次是Request Method: POS ...