HighCharts画图/请求路径/git使用总结

1、利用highcharts画柱状图

 (1)为了让每个柱上面显示相应的值,在highcharts的option设置如下参数:
		plotOptions: {
	            series: {
	            	pointWidth: 30,
	                pointPadding: 0.2,
	                borderWidth: 0,
	                dataLabels:{//将值显示在柱状图的上面
	                	enabled:true,
	                	crop:false,
	                	overflow:'none'
	                }
	            }
	        }

crop和overflow是为了让值总是显示在柱状图的上方,防止柱状图太高时,值显示在柱状图中。

(2)在横轴显示categories

因为字符串的长度太长时,字符串可能会旋转,为了保证其换行显示而不是旋转相应的角度,可以设置如下选项:

 		xAxis: {
	        	type:'category',
	            categories: [],
	            labels: {
	            	autoRotationLimit: 5//图表显示时按单词换行,所以后台传过来的字符串句子中设置适当的间隔
	            }
	        }


   主要是设置autoRotationLimit:5这个参数,同时当一个字符串太长时要在字符串中适当的位置增加空格,如:“第一次 生产 过程”  这样在坐标轴上显示时,当一个刻度的宽度容纳不下该字符串时,便会分成三行显示为:
 “第一次”
  “生产”
 “过程”

(3)为了让不同的柱显示不同的颜色,增加如下选项:主要是设置colorByPoint:true

		plotOptions: {
	            series: {
	            	colorByPoint:true,
	            	pointWidth: 30,
	                pointPadding: 0,
	                borderWidth: 0,
	                dataLabels: {
	                	enabled:true,
	                	crop:false,
		            	overflow:'none'
	            }
	          }
	        }
     为了设置自己定义的颜色,可以在option中设置一个colors数组。

(4)当要在一个页面中画多个图

不要先定义一个option1,然后将option1的值直接赋值给option2 :  option2 = option1, 因为option1为引用类型,这样会造成option1和option2的引用值相同 ,它们的修改会相互影响。

 2、后台请求路径的问题

(1) 注意要将ajax的请求路径写成相对路径,不要写成绝对路径

    例如不要写成:url:'http://localhost:8080/Test/xxx/xxx.json',可以在前台JSP页面中先获取相对路径:
    
    <%
	String path = request.getContextPath();
	String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    然后设置一个隐藏的input标签来保存该路径:
    

接着在js文件中拼接成绝对路径:
  
  var url = $("#basePath").val()+"rsd/rsdExtraction.json";

 在ajax请求中便可以利用这个路径来向后台发送请求。

(2)关于在src路径下读取相关文件的路径设置问题

  例如java类要访问一个json或python文件,可以在src下建立一个package来专门存放这些文件。假设存放这些文件的包名为:com.www.test,那么在src下的某个包中如何访问这些文件呢?
可以利用 xxx.getClassLoader(),这里的xxx指的是某个具体的类,这样可以将路径定位到src目录下,接着定位到相应的包的文件路径:
     
InputStream in=Correlation.class.getClassLoader().getResourceAsStream("com/www/test/tt.py"); 

这样就可以将文件读到流中供访问了。
可以写一个公共类:
    
 public static final String readFile(String path) {
	BufferedReader reader = null;
	String returnStr = "";
	try {
		InputStream in=Util.class.getClassLoader().getResourceAsStream(path);//相对工程路径,类加载器会从src开始查找
		InputStreamReader inputStreamReader = new InputStreamReader(in, "UTF-8");
		reader = new BufferedReader(inputStreamReader);
		String tempString = null;
		while ((tempString = reader.readLine()) != null) {
		returnStr += tempString;
	}
		reader.close();
	} catch (IOException e) {
		e.printStackTrace();
	} finally {
		if (reader != null) {
		try {
		reader.close();
	} catch (IOException e) {
		e.printStackTrace();
	}
	}
	}
		return returnStr;
	}

3、在加载页面时,不要直接先读后台的json数据,应该等页面加载完成后再去获取json数据,不然会影响页面的加载速度,影响用户体验。

4、git使用

   先用git status查看当前的状态。红色的部分即为近期修改的部分。
   首先为了将远程的修改合并到本地,使用:git pull。修改完相应的冲突部分后 然后再重新运行工程看看有没有问题。
   当在本地修改之后,为了将本地的修改合提交到远程的分支,为了不影响远程的内容,可以先新建一个分支
   然后在该分支上进行提交,提交完成后切换到主分支,将新建的分支合并到主分支并删除。具体操作步骤如下:


   首先,创建dev分支,然后切换到dev分支:
   $ git checkout -b dev


   git checkout命令加上-b参数表示创建并切换,相当于以下两条命令
   $ git branch dev
   $ git checkout dev


   然后用git branch 命令查看当前分支
   
   $ git branch
   * dev
     master


   git branch 命令会列出所有分支,当前分支前面会标一个 * 号


   然后就可以在dev分支上正常提交,比如对readme.txt做个修改
   然后提交:
   $ git add readme.txt
   $ git commit -m "branch test"


   现在,dev分支的工作完成,我们就可以切换回master分支:
   $ git checkout master 


   切换回master分支后,再查看一个readme.txt文件,刚才添加的内容不见了,因为那个提交是在dev分支上,
   而master分支此刻的提交点并没有变。



   现在,我们把dev分支的工作成果合并到master分支上:
   $ git merge dev


   git merge命令用于合并指定分支到当前分支。合并后,再查看readme.txt的内容,就可以看到和dev分支的更新提交是完全一样的。
   注意,上面的Fast-forward信息,这次合并是”快进模式“,也就直接把master指向dev的当前提交,所以合并的速度非常快
   合并完成后,就可以放心的删除dev分支了。


   接下来就可以  $ git push


   上面合并分支时,git 会用Fast-forward模式,但这种模式下,删除分支后,会丢掉分支信息。
   如果要强制禁用 Fast forward模式,git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
   --no-ff方式下的git merge:


   首先,创建并切换分支
   $ git checkout -b dev
   修改readme.txt,并提交一个新的commit
   $ git add readme.txt
   $ git commit -m "add merge"


   现在切换回master分支
   $ git checkout master


   准备合并dev分支,注意 --no-ff 参数,表示禁用Fast forward:
   $ git merge --no-ff -m "merge with no-ff" dev
   
   因为本次合并要创建一个新的commit ,所以加上 -m 参数,把commit描述写进去。
   合并后,用 git log看看分支历史
   $ git log --graph --pretty=oneline --abbrev-commit
   $ git log --graph --pretty=oneline --abbrev-commit


*   7825a50 merge with no-ff
|\
| * 6224937 add merge
|/
*   59bc1cb conflict fixed
...



你可能感兴趣的:(Git学习)