5.饼图图表
引言
这部分覆盖了jCharts饼图的性能。大多数饼图都允许相同的属性类型,但是无论怎样,我们将覆盖每一种类型。
正式的2D
2D饼图事例
这里是一个简单2D饼图代码。。。
double[] data= { 81d, 55d, 39d, 20.6d };
String[] labels= { "BMW M5", "BMW M3", "Viper GTS-R", "Corvette Z06" };
Paint[] paints= { Color.lightGray, Color.green, Color.blue, Color.red };
PieChart2DProperties pieChart2DProperties= new PieChart2DProperties();
PieChartDataSet pieChartDataSet= new PieChartDataSet( "Cars That Own",
data,
labels,
paints,
pieChart2DProperties );
PieChart2D pieChart2D= new PieChart2D( pieChartDataSet,
new LegendProperties(),
new ChartProperties(),
400, 350 );
零度偏移
如果我们要有某种程度上除了零度以外第一个饼图的切片,我们可以从45度开始增加以下代码,备注:从蓝色开始的地方。
pieChart2DProperties.setZeroDegreeOffset( 45f );
边框区域
饼图边框用 java.awt.Stroke接口控制它的提供的属性。在选择的java.awt包里有几个Java.awt.stroke接口的实现。
饼图边框用java.awt.Paint接口去控制提供的属性。在选择的java.awt的包里有几个java.awt.Paint的实现。
ChartStroke chartStroke= new ChartStroke( new BasicStroke( 4f ), Color.orange );
pieChart2DProperties.setBorderChartStroke( chartStroke );
图例标签
你可以如下操作来显示靠近每个切片的图例的标签:
pieChart2DProperties.setPieLabelType( PieLabelType.LEGEND_LABELS );
备注:
在这个发布里,不支持每个切片所占的比例。你可以每次修改源代码来避免这个弊端。或者你自己计算和在饼图里设置值作为绘制的值。
3D饼图事例
这里是一个简单3D饼图的代码。。
double[] data= { 81d, 55d, 39d, 20.6d };
String[] labels= { "BMW M5", "BMW M3", "Viper GTS-R", "Corvette Z06" };
Paint[] paints= { Color.lightGray, Color.green, Color.blue, Color.red };
PieChart3DProperties pieChart3DProperties= new PieChart3DProperties();
PieChartDataSet pieChartDataSet= new PieChartDataSet( "Cars That Own",
data,
labels,
paints,
pieChart3DProperties );
PieChart3D pieChart3D= new PieChart3D( pieChartDataSet,
new LegendProperties(),
new ChartProperties(),
400, 350 );
零度范围
如果我们在零度以外的某个地方有第一个切片,我们可以增加以下代码在45度开始。标注这蓝色区域开始的地方。
pieChart3DProperties.setZeroDegreeOffset( 45f );
饼图边框用 java.awt.Stroke接口控制它的提供的属性。在选择的java.awt包里有几个Java.awt.stroke接口的实现。
饼图边框用java.awt.Paint接口去控制提供的属性。在选择的java.awt的包里有几个java.awt.Paint的实现。
ChartStroke chartStroke= new ChartStroke( new BasicStroke( 4f ), Color.orange );
pieChart3DProperties.setBorderChartStroke( chartStroke );
图例标签
你可以如下操作来显示靠近每个切片的图例的标签:
pieChart3DProperties.setPieLabelType( PieLabelType.LEGEND_LABELS );
标签的值
你可以通过如下操作显示每个切片的值:
pieChart3DProperties.setPieLabelType( PieLabelType.VALUE_LABELS );
深度
你可以如下操作来设置3D饼图深度:
pieChart3DProperties.setDepth( 50 );
标签的值
你可以通过如下操作显示每个切片的值:
pieChart2DProperties.setPieLabelType( PieLabelType.VALUE_LABELS );