📅  最后修改于: 2020-11-30 05:10:25             🧑  作者: Mango
3D图表就是三维图表。您可以使用这些图表来提供更好的显示和清晰的信息。 3D饼图与饼图相同,但具有不错的3D效果。可以通过添加一些额外的代码来实现3D效果,这将有助于在饼图中创建3D效果。
考虑以下示例,借助3D饼图来说明移动销售。以下是不同的移动品牌及其销售量(每日销售量)的列表。
S.No | Mobile Brands | Sales (UNITS per day) |
---|---|---|
1 | Iphone 5S | 20 |
2 | Samsung Grand | 20 |
3 | MOTO G | 40 |
4 | Nokia Lumia | 10 |
以下是根据上述给定信息创建3D饼图的代码。此代码可帮助您将饼形图嵌入任何基于AWT的应用程序中。
import java.io.*;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.chart.ChartUtilities;
public class PieChart3D {
public static void main( String[ ] args )throws Exception {
DefaultPieDataset dataset = new DefaultPieDataset( );
dataset.setValue( "IPhone 5s" , new Double( 20 ) );
dataset.setValue( "SamSung Grand" , new Double( 20 ) );
dataset.setValue( "MotoG" , new Double( 40 ) );
dataset.setValue( "Nokia Lumia" , new Double( 10 ) );
JFreeChart chart = ChartFactory.createPieChart3D(
"Mobile Sales" , // chart title
dataset , // data
true , // include legend
true,
false);
final PiePlot3D plot = ( PiePlot3D ) chart.getPlot( );
plot.setStartAngle( 270 );
plot.setForegroundAlpha( 0.60f );
plot.setInteriorGap( 0.02 );
int width = 640; /* Width of the image */
int height = 480; /* Height of the image */
File pieChart3D = new File( "pie_Chart3D.jpeg" );
ChartUtilities.saveChartAsJPEG( pieChart3D , chart , width , height );
}
}
让我们将上面的Java代码保存在PieChart3D.java文件中,然后从提示的命令中编译并运行它-
$javac PieChart3D.java
$java PieChart3D
如果一切正常,它将编译并运行以创建一个名为PieChart3D.jpeg的JPEG图像文件,该文件具有以下3D饼图-
3D条形图与条形图相同,另外具有不错的3D效果。可以通过添加一些额外的代码来实现3D效果,这将有助于在条形图中创建3D效果。考虑以下示例,该示例借助3D条形图描述各种汽车统计数据。以下是汽车品牌及其不同特征的列表,我们将使用条形图显示-
Car | Speed | User Rating | Millage | Safety |
---|---|---|---|---|
FIAT | 1.0 | 3.0 | 5.0 | 5.0 |
AUDI | 5.0 | 6.0 | 10.0 | 4.0 |
FORD | 4.0 | 2.0 | 3.0 | 6.0 |
以下代码根据上述给定信息创建3D条形图。此代码可帮助您在任何基于AWT的应用程序中嵌入条形图。
import java.io.*;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.chart.ChartUtilities;
public class BarChart3D {
public static void main( String[ ] args )throws Exception {
final String fait = "FAIT";
final String audi = "AUDI";
final String ford = "FORD";
final String speed = "Speed";
final String popular = "Popular";
final String mailage = "Mailage";
final String userrating = "User Rating";
final String safety = "safety";
final DefaultCategoryDataset dataset = new DefaultCategoryDataset( );
dataset.addValue( 1.0 , fait , speed );
dataset.addValue( 4.0 , fait , popular );
dataset.addValue( 3.0 , fait , userrating );
dataset.addValue( 5.0 , fait , mailage );
dataset.addValue( 5.0 , fait , safety );
dataset.addValue( 5.0 , audi , speed );
dataset.addValue( 7.0 , audi , popular );
dataset.addValue( 6.0 , audi , userrating );
dataset.addValue( 10.0 , audi , mailage );
dataset.addValue( 4.0 , audi , safety );
dataset.addValue( 4.0 , ford , speed );
dataset.addValue( 3.0 , ford , popular );
dataset.addValue( 2.0 , ford , userrating );
dataset.addValue( 3.0 , ford , mailage );
dataset.addValue( 6.0 , ford , safety );
JFreeChart barChart = ChartFactory.createBarChart3D(
"Car Usage Statistics",
"Category",
"Score",
dataset,
PlotOrientation.VERTICAL,
true, true, false);
int width = 640; /* Width of the image */
int height = 480; /* Height of the image */
File barChart3D = new File( "barChart3D.jpeg" );
ChartUtilities.saveChartAsJPEG( barChart3D, barChart, width, height);
}
}
让我们将上述Java代码保存在BarChart3D.java文件中,然后从提示的命令中编译并运行它-
$javac BarChart3D.java
$java BarChart3
如果您的环境一切正常,它将编译并运行以创建具有以下3D条形图的JPEG图像文件BarChart3D.jpeg-