开源项目
知识点
相关文章
更多最近更新
更多JFreeChart 创建三维/3D饼图/条形图
2019-04-27 15:08|来源: 网路
三维/3D图表是那些显示在一个三维格式。可以使用这些图表来提供更好的显示效果和清晰的信息。三维/3D饼图是饼图另外一个不错的3D效果。 3D效果可以通过添加一些额外的代码来实现,它会创建一个饼图3D效果。
3D饼图
请看下面的例子来描述移动销售三维饼图。以下是不同移动品牌和销售(每天)名单。
S.N. | 手机品牌 | 销量 (天) |
---|---|---|
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 ); } }
让我们保存在PieChart3D.java文件如上面的Java代码,然后从命令提示符下编译并运行它,如下所示:
$javac PieChart3D.java $java PieChart3D
如果一切顺利,它会编译并运行,以创建一个名为PieChart3D.jpeg 如以下3D饼图JPEG图像文件:
3D条形图
三维条形图是一样的条形图另外一个不错的3D效果。 3D效果可以通过添加一些额外的代码来实现,它会创建一个柱形图3D效果。看看下面的例子,描绘各种汽车的统计数据3D条形图。以下是汽车品牌以及它们的不同特点,我们将展示使用一个条形图的列表:
Car | Speed | User Rating | Millage | Safety |
---|---|---|---|---|
FIAT | 1.0 | 3.0 | 5.0 | 5.o |
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 safty = "safty"; 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 , safty ); 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 , safty ); 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 , safty ); 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); } }
让我们保存在BarChart3D.java文件如上面的Java代码,然后从命令提示符下编译并运行它,如下所示:
$javac BarChart3D.java $java BarChart3
如果一切正常,它会编译并运行创建的JPEG图像fileBarChart3D.jpeg,具有下列3D条形图:
相关问答
更多-
java jfreechart问题[2022-08-06]
dataset.addValue(t1[i], "北京", "苹果"); 添加同一种东西?这样显示好像会有问题. 还有如果你是想用jfreechart做项目的话,我劝你放弃吧.找个其他的.我用这个做了2个项目,客户意见很大,这个东西很难调...而且不同版本,他的很多方法还不同....API又是收费的. 如果你只是练手,那你继续.... -
帮助JFreeChart覆盖(Help with JFreeChart overlay)[2023-06-02]
我看到你正在给剧情添加第二个数据集和渲染器,但是你迫使他们使用相同的距离轴。 相反,给第二个数据集的范围一个新的NumberAxis 。 另外,请不要忽视JFreeChart Demo中与轴相关的示例,并且不要低估JFreeChart开发人员指南的价值。 I see you're adding a second data set and renderer to your plot, but you're forcing them to use the same range axis. Instead, gi ... -
您可以在PiePlot上使用setExplodePercent() ,就像它们在此处所示 。 JFreeChart chart = ChartFactory.createPieChart(…); PiePlot plot = (PiePlot) chart.getPlot(); plot.setExplodePercent(KEY, PERCENT); 我需要一些方法来设置边框或根据某个事件将焦点设置到该部分,例如鼠标悬停在特定部分上。 我通过在ChartMouseListener为createDemoP ...
-
您必须将库的jar文件添加到编译时和运行时CLASSPATH中 。 在jGRASP中,您可以通过“Settings> PATH / CLASSPATH> Workspace”对话框完成。 有关详细信息,请参阅HOWTO , 控制面板和设置 。 You have to add a library's jar file into both compile-time and run-time CLASSPATH. In jGRASP you can do it through "Settings > PATH/C ...
-
显示JFreeChart值(Display JFreeChart Values)[2023-07-01]
在PiePlot上,可以使用setter setSimpleLabels 。 假设你有你创建的图表: Chart chart = // your created chart PiePlot plot = (PiePlot) chart.getPlot(); plot.setSimpleLabels(true); 如果您需要更平滑的外观,可以使用透明颜色作为标签阴影,轮廓和背景颜料: plot.setOutlinePaint(new Color(0, 0, 0, 0)); plot.setLabelSha ... -
我使用Linux Mint 11,Eclipse和JFreeChart 1.0.14时遇到了同样的问题。 我发现备份到1.0.13解决了这个问题。 I was having the same problem using Linux Mint 11, Eclipse, and JFreeChart 1.0.14. I found that backing up to 1.0.13 resolved the problem.
-
网上的JFreeChart(JFreeChart on Web)[2021-10-24]
首先是长期答案,然后是短期答案。 如果您在网络上使用JFreeChart,您有两种选择: 在applet中显示图表,这将允许您基本上完成JFreeChart支持的所有内容,包括您在上面提到的内容。 在服务器端使用JFreeChart生成将由服务器提供的图像。 在这种情况下,#2将很难,因为你将不得不刷新页面,#3将是非常困难甚至几乎不可能 鉴于上述情况,简短的回答是:我建议你构建一个桌面应用程序,它将更容易处理图表。 First the long answer, then the short one. If ... -
JFreeChart的差距(Gap in JFreeChart)[2024-04-06]
问题已解决。 我用自己覆盖了情节渲染器。 Problem fixed. I was overwriting the plot renderer with itself. -
JFreeChart MeterPlot(JFreeChart MeterPlot)[2022-05-31]
正如@ alex2410所述,您的代码如下所示。 如@Outlaw引用的答案中所述,情节(视图)收听数据集(模型)。 一些笔记, 不要在构造函数中重复代码; 让一个人调用另一个。 当你真的想要覆盖getPreferredSize()时,不要使用setPreferredSize() getPreferredSize() 。 不要使用静态成员在可重用的视图类中引用模型。 不要在构造函数中调用公共方法。 请使用连续范围以避免标签中的视觉伪影。 import java.awt.BasicStroke; import ... -
我改变了BarChartDemo1 : 显示传说。 JFreeChart chart = ChartFactory.createPieChart( "Smart Phones Manufactured / Q3 2011", // chart title dataset, // data true, // legend <<<<<<<<<< true, // tooltips false ...