3D Chart/Bar Chart

优质
小牛编辑
134浏览
2023-12-01

3D图表是以三维格式出现的图表。 您可以使用这些图表来提供更好的显示和清晰的信息。 3D饼图与饼图相同,具有漂亮的3D效果。 通过添加一些额外的代码可以实现3D效果,这将代表在饼图中创建3D效果。

3D饼图

请考虑以下示例,借助3D饼图来说明移动销售。 以下是不同移动品牌及其销售(每日单位)的列表。

S.No移动品牌销售额(每天UNITS)
1IPhone 5S20
2Samsung Grand20
3MOTO G40
4诺基亚Lumia10

以下是从上面给出的信息创建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饼图 -

JFreeChart PieChart3D

3D条形图

3D条形图与条形图相同,另外还具有漂亮的3D效果。 通过添加一些额外的代码可以实现3D效果,这将在条形图中创建3D效果。 请考虑以下示例,该示例借助于3D条形图描绘各种汽车统计数据。 以下是汽车品牌及其不同特征的列表,我们将使用条形图显示 -

汽车速度用户评分Millage安全
FIAT1.03.05.05.0
AUDI5.06.010.04.0
FORD4.02.03.06.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 -

JFreeChart 3D条形图

最后更新:

类似资料

  • 问题内容: 如何在JavaFX中更改条形的颜色? 我找不到通过CSS 方法更改颜色的方法。 问题答案: 您可以使用css设置条的颜色 使用setStyle方法: 在Node类中使用 lookupAll方法, 查找与给定CSS选择器匹配的所有节点,包括该节点和所有子节点。如果找不到匹配项,则返回一个空的不可修改的集合。该集合明确无序。 代码:

  • 问题内容: 默认情况下,我的条形图始终使用渐变颜色绘制。我只想要一种 没有任何样式效果 的简单颜色。 有人可以帮忙吗? 码: 谢谢 问题答案: 问题出在您正在使用中。JFreeChart版本1.0.13的默认设置是使用,它将为条形添加金属感。如果您想要“旧”外观,解决方案是使用。 那应该做。 另外,如果要使用JFreeChart’s ,则可以在初始化渲染器之前通过调用static方法来强制其使用。

  • 问题内容: 我正在使用ios-charts库。 我想对变频器值进行分组,以便每年都是一组。不幸的是,每年的每月价值可能会有所不同。 我的数据json看起来像这样: 我尝试了以下方法: 这将在图例中显示带有正确年份标签的五个系列,但图表中没有组分隔符,并且每年的柱数为4或5(预期= 12)。 感谢您对此的任何提示! 问题答案: 您在这里出了点问题。现在,您正在为每年创建一个新的。 您需要做的是在每个

  • 我正在使用MPAndreidChart,我想存档类似于以下图表的东西: 基本上,除了条形图本身的值之外,我还想在或中的条形图内部显示标签(假设其中一个轴的所有标签)。这样做的原因是,在我的例子中,YAxis的标签很长,所以没有足够的空间在图表之外显示它们。但在我的情况下,每个酒吧里都有很大的空间。所以,基本上把每个酒吧的名字(这个酒吧是什么意思)都写在里面是很合理的。我还没有找到任何API来实现这

  • 我有一个pptx模板,它只有一个测试目的幻灯片。该幻灯片有一个简单的条形图。我可以通过双击pptx文件来编辑条形图,并且可以更改Sheet1(条形图数据表)中的值,并且可以立即在条形图中看到更改。 现在,我正在尝试使用POI API做同样的事情。我在这里执行以下步骤 读取模板文件 = “我的模板.pptx” - https://docs.google.com/file/d/0B-q0lBy0lKL

  • 如何更改JavaFX

开发工具

BarChart