% UM1
% JFreeChart graphs and gauges
% 3D JFreeChart
% by faruto @ faruto's Studio~
% http://blog.sina.com.cn/faruto
% Email:faruto@163.com
% http://www.matlabsky.com
% http://www.mfun.la
% http://video.ourmatlab.com
% last modified by 2011.01.19
%% a litte clean work
tic;
close all;
clear;
clc;
format compact;
%% jfreechart-1.0.13
% 下载地址:http://sourceforge.net/projects/jfreechart/files/
% javaaddpath D:\MATLAB[work space]\MyToolBox\jfreechart-1.0.13\lib\jcommon-1.0.16.jar
% javaaddpath D:\MATLAB[work space]\MyToolBox\jfreechart-1.0.13\lib\jfreechart-1.0.13.jar
%%
% Prepare a data-set with some unrealistic numbers...
dataset = org.jfree.data.general.DefaultPieDataset;
dataset.setValue(java.lang.String('C'), 4);
dataset.setValue(java.lang.String('C++'), 7);
dataset.setValue(java.lang.String('Matlab'), 52);
dataset.setValue(java.lang.String('Java'), 23);
dataset.setValue(java.lang.String('Other'), 14);
% Now prepare an org.jfree.chart.JFreeChart object
% Arguments = title string, data set, display legend flag, display tooltips flag, generate URLs flag
chart3D = org.jfree.chart.ChartFactory.createPieChart3D('Programming languages', dataset, true, true, false);
% Update some chart properties
plot3D = chart3D.getPlot; % an org.jfree.chart.plot.PiePlot3D obj
plot3D.setForegroundAlpha(0.7); % set transparency level
% Finally, place the chart in a Swing-compliant panel and display using javacomponent
jPanel = org.jfree.chart.ChartPanel(chart3D);
[jp,hp] = javacomponent(jPanel,[20,20,300,300],gcf);
%%
% chart2D = org.jfree.chart.ChartFactory.createPieChart('Programming languages', dataset, true, true, false);
% plot2D = chart2D.getPlot; % an org.jfree.chart.plot.PiePlot obj
% plot2D.setExplodePercent(0,0.6); % 1st value, 60% outward
% plot2D.setExplodePercent(3,0.30); % 4th value, 30% outward
% jPanel.setChart(chart2D);
%%
toc;