XCL-Charts画圆图

    我也不知是不是叫圆图,反正这样叫吧, 这个图形是我今天在Circliful这个jQuery 图表插件上看到的. 觉得很好看。

就想把它实现出来,因为之前画过环形图,且我现在的图表基类基本已成型,所以很快就画好了。

 效果在展示页那有,这里也附上:

XCL-Charts画圆图_第1张图片  图1 XCL-Charts画圆图_第2张图片  图2XCL-Charts画圆图_第3张图片   图3


附上上面三个图,在我图表库中的调用 代码:

图1: 

  

//生成圆图类
		chart = new CircleChart();		
		
		//设置图表范围(通过起始X,Y坐标及长,宽指定)
		chart.setChartRange(0, 0, mScrWidth, mScrHeight);
		
		//设置图表数据源
		LinkedList<PieData> lPieData = new LinkedList<PieData>();
		
		//PieData(标签,百分比,在饼图中对应的颜色)
		lPieData.add(new PieData("58%",58,(int)Color.rgb(72, 201, 176)));	
		chart.setDataSource(lPieData);
		
		//设置标题
		chart.setTitle("圆形图(Circle Chart) 01");
		
		//设置外环半径
		if(mScrWidth < this.mScrHeight)
		{
			chart.setRadius(mScrWidth/3);		
		}else{
			chart.setRadius(mScrHeight/3);	
		}
		//设置半径
		int fillRaius = (int) Math.round(mScrWidth * 0.7 - mScrWidth/5);
		chart.setFillRadius(fillRaius);
		//设置附加信息
		chart.setAttributeInfo("电脑充满活力");
		//半圆显示
		chart.setCircleDisplayType(XTypes.CircleDisplayType.HALF );
图2:

  

//生成圆图类
		chart = new CircleChart();		
		
		//设置图表范围(通过起始X,Y坐标及长,宽指定)
		chart.setChartRange(0, 0, mScrWidth, mScrHeight);
		
		//设置图表数据源
		LinkedList<PieData> lPieData = new LinkedList<PieData>();
		
		//PieData(标签,百分比,在饼图中对应的颜色)
		lPieData.add(new PieData("80%",80,(int)Color.rgb(243, 75, 125)));		
		chart.setDataSource(lPieData);
		
		//设置标题
		chart.setTitle("圆形图(Circle Chart) 2");
		
		//设置外环半径
		if(mScrWidth < this.mScrHeight)
		{
		    chart.setRadius(mScrWidth/3);		
		}else{
			chart.setRadius(mScrHeight/3);	
		}	
		
		//设置半径
		int fillRaius = (int) Math.round(mScrWidth * 0.7 - mScrWidth/5);
		chart.setFillRadius(fillRaius);		
		chart.setAttributeInfo("压力山大");		
		chart.setCircleDisplayType(XTypes.CircleDisplayType.FULL );		
		chart.getPaintBgCircle().setColor((int)Color.rgb(117, 197, 141));
		chart.getPaintFillCircle().setColor((int)Color.rgb(77, 180, 123));
		chart.getPaintDataInfo().setColor((int)Color.rgb(243, 75, 125));
		chart.getPaintLable().setTextSize(36);
		chart.getPaintDataInfo().setTextSize(22);
 图3:

     

//生成圆图类
		chart = new CircleChart();		
		
		//设置图表范围(通过起始X,Y坐标及长,宽指定)
		chart.setChartRange(0, 0, mScrWidth, mScrHeight);
		
		//设置图表数据源
		LinkedList<PieData> lPieData = new LinkedList<PieData>();
		
		//PieData(标签,百分比,在饼图中对应的颜色)
		lPieData.add(new PieData("75分",75,(int)Color.rgb(51, 136, 103)));	
		chart.setDataSource(lPieData);
		
		//设置标题
		chart.setTitle("圆形图(Circle Chart) 3");
		
		//设置外环半径
		if(mScrWidth < this.mScrHeight)
		{
		    chart.setRadius(mScrWidth/3);		
		}else{
			chart.setRadius(mScrHeight/3);	
		}	
		
		//设置半径
		int fillRaius = (int) Math.round(mScrWidth * 0.7 - mScrWidth/5);
		chart.setFillRadius(fillRaius);		
		chart.setCircleDisplayType(XTypes.CircleDisplayType.FULL );
		
		chart.getPaintBgCircle().setColor((int)Color.rgb(117, 197, 141));
		chart.getPaintFillCircle().setColor((int)Color.rgb(77, 180, 123));
		chart.getPaintLable().setTextSize(36);		
		chart.setInitialAngle(90);
   我把相关的几个画笔都开放出来的,基本上可以随意定制,而不用管图表具体实现的逻辑。


 MAIL: [email protected]

BLOG: http://blog.csdn.net/xcl168


你可能感兴趣的:(xclcharts,android图表库,圆图,circlechart)