您的位置:首页 > 其它

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

2015-05-31 21:46 519 查看

1、利用highcharts画柱状图

(1)为了让每个柱上面显示相应的值,在highcharts的option设置如下参数:

<span style="white-space:pre">		</span>plotOptions: {
series: {
pointWidth: 30,
pointPadding: 0.2,
borderWidth: 0,
dataLabels:{//将值显示在柱状图的上面
enabled:true,
crop:false,
overflow:'none'
}
}
}


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

(2)在横轴显示categories

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

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


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

“第一次”

“生产”

“过程”

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

<span style="white-space:pre">		</span>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标签来保存该路径:

<input type="hidden" value="<%=basePath%>" id=basePath>


接着在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) {
<span style="white-space:pre">	</span>BufferedReader reader = null;
<span style="white-space:pre">	</span>String returnStr = "";
<span style="white-space:pre">	</span>try {
<span style="white-space:pre">		</span>InputStream in=Util.class.getClassLoader().getResourceAsStream(path);//相对工程路径,类加载器会从src开始查找
<span style="white-space:pre">		</span>InputStreamReader inputStreamReader = new InputStreamReader(in, "UTF-8");
<span style="white-space:pre">		</span>reader = new BufferedReader(inputStreamReader);
<span style="white-space:pre">		</span>String tempString = null;
<span style="white-space:pre">		</span>while ((tempString = reader.readLine()) != null) {
<span style="white-space:pre">		</span>returnStr += tempString;
<span style="white-space:pre">	</span>}
<span style="white-space:pre">		</span>reader.close();
<span style="white-space:pre">	</span>} catch (IOException e) {
<span style="white-space:pre">		</span>e.printStackTrace();
<span style="white-space:pre">	</span>} finally {
<span style="white-space:pre">		</span>if (reader != null) {
<span style="white-space:pre">		</span>try {
<span style="white-space:pre">		</span>reader.close();
<span style="white-space:pre">	</span>} catch (IOException e) {
<span style="white-space:pre">		</span>e.printStackTrace();
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>}
<span style="white-space:pre">		</span>return returnStr;
<span style="white-space:pre">	</span>}

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

...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: