今天我妈的手机上收到一条莫名收到拍拍贷短信的信息 说我欠款未还 欠款人名字跟我

jfreeChart柱状图参数设置 - 紫极香随 - ITeye技术网站
博客分类:
使用JFreeChart 输出柱状图 基本参数设置:
package com.*****************.domain.
import java.awt.C
import java.awt.F
import java.text.DecimalF
import org.jfree.chart.JFreeC
import org.jfree.chart.axis.CategoryA
import org.jfree.chart.axis.NumberA
import org.jfree.chart.axis.ValueA
import org.jfree.chart.labels.StandardCategoryItemLabelG
import org.jfree.chart.plot.CategoryP
import org.jfree.chart.renderer.category.BarR
* 格式化 JFreeChart 输出图片
* Author :
: Nov 26, 2009
: 11:50:41 AM
* Version: 1.0
public class FormatPic {
* 格式化纵向柱状图使用
* @param chart
* @returnType: void
* @author:
* @data: Nov 26, 2009
* @time: 11:51:26 AM
public static void setView(JFreeChart chart){
初始化字体
Font labelFont = new Font("SansSerif", Font.TRUETYPE_FONT, 12);
Font noFont = new Font("SansSerif", Font.TRUETYPE_FONT, 48);
格式化 图片
CategoryPlot plot = chart.getCategoryPlot();
没有数据是显示的消息
plot.setNoDataMessage("没有数据!");
没有数据时显示的消息字体
plot.setNoDataMessageFont(noFont);
没有数据时显示的消息颜色
plot.setNoDataMessagePaint(Color.RED);
// 数据轴精度
NumberAxis vn = (NumberAxis) plot.getRangeAxis();
// 数据轴数据标签的显示格式
CategoryAxis domainAxis = plot.getDomainAxis();
// 设置刻度必须从0开始
vn.setAutoRangeIncludesZero(true);
设置纵坐标数据精度
DecimalFormat df = new DecimalFormat("#0.00");
vn.setNumberFormatOverride(df);
domainAxis.setLabelFont(labelFont);// 轴标题
domainAxis.setTickLabelFont(labelFont);// 轴数值
ValueAxis rangeAxis = plot.getRangeAxis();
rangeAxis.setLabelFont(labelFont);
rangeAxis.setTickLabelFont(labelFont);
BarRenderer renderer = new BarRenderer();
// 设置柱子宽度
renderer.setMaximumBarWidth(0.05);
// 设置柱子高度
renderer.setMinimumBarLength(0.2);
// 设置柱子边框颜色
renderer.setBaseOutlinePaint(Color.BLACK);
// 设置距离图片左端距离
domainAxis.setLowerMargin(0.01);
// 设置距离图片右端距离
domainAxis.setUpperMargin(0.2);
// 设置显示位置
plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
plot.setDomainAxis(domainAxis);
// 设置柱图背景色(注意,系统取色的时候要使用16位的模式来查看颜色编码,这样比较准确)
plot.setBackgroundPaint(new Color(255, 255, 204));
// 设置每个平行柱之间距离
renderer.setItemMargin(0.05);
// 显示每个柱的数值,并修改该数值的字体属性
renderer.setIncludeBaseInRange(true);
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setBaseItemLabelsVisible(true);
plot.setRenderer(renderer);
好像不太智能 ,但数据很少 或数据很多时,使用不太理想,哪位大侠找到了!共享一下!
younglibin
浏览: 647504 次
来自: 北京
“子类对象”都拥有了“父类对象的一个实例的引用”我晕,应该是“ ...
关于楼主最后的问题,我想可能是这样:InputFormat默认 ...
上述7点基本具备,可惜现在因为项目需要,做管理方面工作!
链接已经失效
看了以上7条, 自己 也不知道是否能够对上, 感觉没一点都有那 ...本帖子已过去太久远了,不再提供回复功能。JFreeChart应用实例-柱状图 - 推酷
JFreeChart应用实例-柱状图
JFreeChart可以实现普通柱状图和3D柱状图
1、普通柱状图
import java.awt.F
import org.jfree.chart.ChartF
import org.jfree.chart.ChartF
import org.jfree.chart.JFreeC
import org.jfree.chart.StandardChartT
import org.jfree.chart.axis.CategoryA
import org.jfree.chart.axis.ValueA
import org.jfree.chart.labels.CategoryItemLabelG
import org.jfree.chart.labels.StandardCategoryItemLabelG
import org.jfree.chart.plot.CategoryP
import org.jfree.chart.plot.PlotO
import org.jfree.chart.renderer.category.BarR
import org.jfree.chart.title.LegendT
import org.jfree.chart.title.TextT
import org.jfree.data.category.CategoryD
import org.jfree.data.category.DefaultCategoryD
public class Bar {
@SuppressWarnings(&deprecation&)
public static void main(String[] args) {
CategoryDataset mDataset = GetDataset();
//创建主题样式
StandardChartTheme mChartTheme = new StandardChartTheme(&CN&);
//设置标题字体
mChartTheme.setExtraLargeFont(new Font(&黑体&, Font.BOLD, 20));
//设置轴向字体
mChartTheme.setLargeFont(new Font(&宋体&, Font.CENTER_BASELINE, 15));
//设置图例字体
mChartTheme.setRegularFont(new Font(&宋体&, Font.CENTER_BASELINE, 15));
//应用主题样式
ChartFactory.setChartTheme(mChartTheme);
///////////////以上主题设置必须位于创建图表函数之前才能生效////////////
JFreeChart mBarChart = ChartFactory.createBarChart(
&学校人员分布图&,
//图表标题
//横轴(目录轴)标签
//纵轴(数值轴)标签
PlotOrientation.VERTICAL, //图表方向
//是否显示图例
//是否生成提示工具
//是否生成url连接
//图表标题设置
TextTitle mTextTitle = mBarChart.getTitle();
mTextTitle.setFont(new Font(&黑体&, Font.BOLD, 20));
//mBarChart.setTitle(new TextTitle(&学校人员分布图&,new Font(&黑体&, Font.BOLD, 20)));
//图表图例设置
LegendTitle mLegend = mBarChart.getLegend();
if(mLegend != null)
mLegend.setItemFont(new Font(&宋体&, Font.CENTER_BASELINE, 15));
//mBarChart.getLegend().setItemFont(new Font(&宋体&, Font.CENTER_BASELINE, 15));
//设置柱状图轴
CategoryPlot mPlot = (CategoryPlot)mBarChart.getPlot();
CategoryAxis mDomainAxis = mPlot.getDomainAxis();
//设置x轴标题的字体
mDomainAxis.setLabelFont(new Font(&宋体&, Font.PLAIN, 15));
//设置x轴坐标字体
mDomainAxis.setTickLabelFont(new Font(&宋体&, Font.PLAIN, 15));
ValueAxis mValueAxis = mPlot.getRangeAxis();
//设置y轴标题字体
mValueAxis.setLabelFont(new Font(&宋体&, Font.PLAIN, 15));
//设置y轴坐标字体
mValueAxis.setTickLabelFont(new Font(&宋体&, Font.PLAIN, 15));
//柱体显示数值
BarRenderer mRenderer= new BarRenderer();
mRenderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
mRenderer.setItemLabelFont(new Font(&宋体&, Font.PLAIN, 10));
mRenderer.setItemLabelsVisible(true);
mPlot.setRenderer(mRenderer);
ChartFrame mChartFrame = new ChartFrame(&学校人员分布图&, mBarChart);
mChartFrame.pack();
mChartFrame.setVisible(true);
public static CategoryDataset GetDataset()
DefaultCategoryDataset mDataset = new DefaultCategoryDataset();
mDataset.addValue(2000, &清华大学&, &本科生&);
mDataset.addValue(2000, &北京大学&, &本科生&);
mDataset.addValue(2000, &复旦大学&, &本科生&);
mDataset.addValue(1500, &清华大学&, &研究生&);
mDataset.addValue(1500, &北京大学&, &研究生&);
mDataset.addValue(1500, &复旦大学&, &研究生&);
mDataset.addValue(1000, &清华大学&, &博士生&);
mDataset.addValue(1000, &北京大学&, &博士生&);
mDataset.addValue(1000, &复旦大学&, &博士生&);
mDataset.addValue(900, &清华大学&, &讲师&);
mDataset.addValue(900, &北京大学&, &讲师&);
mDataset.addValue(900, &复旦大学&, &讲师&);
mDataset.addValue(800, &清华大学&, &副教授&);
mDataset.addValue(800, &北京大学&, &副教授&);
mDataset.addValue(800, &复旦大学&, &副教授&);
mDataset.addValue(300, &清华大学&, &教授&);
mDataset.addValue(300, &北京大学&, &教授&);
mDataset.addValue(300, &复旦大学&, &教授&);
mDataset.addValue(600, &清华大学&, &行政人员&);
mDataset.addValue(600, &北京大学&, &行政人员&);
mDataset.addValue(600, &复旦大学&, &行政人员&);
mDataset.addValue(400, &清华大学&, &管理人员&);
mDataset.addValue(400, &北京大学&, &管理人员&);
mDataset.addValue(400, &复旦大学&, &管理人员&);
mDataset.addValue(2000, &清华大学&, &本科生&);
mDataset.addValue(1500, &清华大学&, &研究生&);
mDataset.addValue(1000, &清华大学&, &博士生&);
mDataset.addValue(900, &清华大学&, &讲师&);
mDataset.addValue(800, &清华大学&, &副教授&);
mDataset.addValue(300, &清华大学&, &教授&);
mDataset.addValue(600, &清华大学&, &行政人员&);
mDataset.addValue(400, &清华大学&, &管理人员&);
2、3D柱状图
import java.awt.F
import org.jfree.chart.ChartF
import org.jfree.chart.ChartF
import org.jfree.chart.JFreeC
import org.jfree.chart.StandardChartT
import org.jfree.chart.axis.CategoryA
import org.jfree.chart.labels.StandardCategoryItemLabelG
import org.jfree.chart.plot.CategoryP
import org.jfree.chart.plot.PlotO
import org.jfree.chart.renderer.category.BarR
import org.jfree.data.category.CategoryD
import org.jfree.data.category.DefaultCategoryD
public class Bar3D {
@SuppressWarnings(&deprecation&)
public static void main(String[] args) {
//创建主题样式
StandardChartTheme mChartTheme = new StandardChartTheme(&CN&);
//设置图表标题
mChartTheme.setExtraLargeFont(new Font(&黑体&, Font.BOLD, 20));
//设置轴向字体
mChartTheme.setLargeFont(new Font(&宋体&, Font.PLAIN, 15));
//设置图例字体
mChartTheme.setRegularFont(new Font(&宋体&, Font.PLAIN, 15));
//应用主题
ChartFactory.setChartTheme(mChartTheme);
//创建图表
CategoryDataset mDataset = GetDataset();
JFreeChart mChart = ChartFactory.createBarChart3D(
&学校人员分布图&,
PlotOrientation.VERTICAL,
//设置内部属性
CategoryPlot mPlot = (CategoryPlot)mChart.getPlot();
//设置纵轴和横轴
CategoryAxis mDomainAxis = mPlot.getDomainAxis();
//设置柱状图距离x轴最左端(即y轴)的距离百分比10%
//mDomainAxis.setLowerMargin(0.1);
mDomainAxis.setUpperMargin(0.1);
//柱体显示数值
BarRenderer mRenderer = new BarRenderer();
mRenderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
mRenderer.setItemLabelFont(new Font(&宋体&, Font.PLAIN, 15));
mRenderer.setItemLabelsVisible(true);
mPlot.setRenderer(mRenderer);
//图表显示
ChartFrame mChartFrame = new ChartFrame(&学校人员分布图&, mChart);
mChartFrame.pack();
mChartFrame.setVisible(true);
public static CategoryDataset GetDataset()
DefaultCategoryDataset mDataset = new DefaultCategoryDataset();
mDataset.addValue(2000, &清华大学&, &本科生&);
mDataset.addValue(1500, &清华大学&, &研究生&);
mDataset.addValue(1000, &清华大学&, &博士生&);
mDataset.addValue(900, &清华大学&, &讲师&);
mDataset.addValue(800, &清华大学&, &副教授&);
mDataset.addValue(300, &清华大学&, &教授&);
mDataset.addValue(600, &清华大学&, &行政人员&);
mDataset.addValue(400, &清华大学&, &管理人员&);
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致jfreechart柱状图自定义标题 -
- ITeye技术网站
package com.web.warning.
import java.awt.C
import java.awt.F
import java.text.NumberF
import java.util.ArrayL
import java.util.C
import java.util.D
import java.util.L
import org.jfree.chart.ChartF
import org.jfree.chart.ChartF
import org.jfree.chart.JFreeC
import org.jfree.chart.axis.DateA
import org.jfree.chart.axis.NumberA
import org.jfree.chart.axis.NumberTickU
import org.jfree.chart.block.BlockB
import org.jfree.chart.block.BlockC
import org.jfree.chart.block.BorderA
import org.jfree.chart.block.LabelB
import org.jfree.chart.plot.PlotO
import org.jfree.chart.plot.XYP
import org.jfree.chart.renderer.xy.XYBarR
import org.jfree.chart.title.LegendT
import org.jfree.data.time.D
import org.jfree.data.time.TimeS
import org.jfree.data.time.TimeSeriesC
import org.jfree.data.xy.IntervalXYD
import org.jfree.ui.ApplicationF
import org.jfree.ui.HorizontalA
import org.jfree.ui.RectangleE
import org.uintec.util.DateU
import com.web.finplan.util.CaiwuC
public class XYBarChartDemo2 extends ApplicationFrame
{
private static final long serialVersionUID = 1L;
private static final Color WHITE_BACKGROUND = new Color(255,255,255);
private static final Color BLACK_BACKGROUND = new Color(173,173,173);
private static final Font FONT10 = new Font("宋体",10,10);
private static final Font FONT20 = new Font("宋体",20,20);
private static final Font FONT15 = new Font("宋体",15,15);
public XYBarChartDemo2(String paramString)
super(paramString);
* 获取数据源
* @param nameList
* @param numberList
private static IntervalXYDataset createDataset(List&String& nameList,List&Object& numberList)
int[] date = getDay3();
if(nameList!=null && numberList!=null && nameList.size()==numberList.size())
TimeSeriesCollection localTimeSeriesCollection = new TimeSeriesCollection();
for(int i=0;i&nameList.size();i++)
TimeSeries localTimeSeries = new TimeSeries(nameList.get(i));
localTimeSeries.add(new Day(date[0]+i, date[1], date[2]), CaiwuCommon.isNullDouble(numberList.get(i)));
&&& localTimeSeriesCollection.addSeries(localTimeSeries);
&&& return localTimeSeriesC
* @param paramIntervalXYDataset
private static JFreeChart createChart(IntervalXYDataset paramIntervalXYDataset,List&Color& colorList)
double highValue = Double.MIN_VALUE;// 设置数据当中的最大值
double minValue = Double.MAX_VALUE;// 设置数据当中的最小值
TimeSeriesCollection localTimeSeriesCollection = (TimeSeriesCollection) paramIntervalXYD
for(int i=0;i&localTimeSeriesCollection.getSeriesCount();i++)////循环序列数
int seriesCount = localTimeSeriesCollection.getItemCount(i);
for(int j=0;j&seriesCj++)//循环柱子数量
if(highValue&localTimeSeriesCollection.getYValue(i, j))
highValue = localTimeSeriesCollection.getYValue(i, j);
if(minValue&localTimeSeriesCollection.getYValue(i, j))
minValue = localTimeSeriesCollection.getYValue(i, j);
JFreeChart jFreeChart = ChartFactory.createXYBarChart("即时涨跌幅", "", true, "", paramIntervalXYDataset, PlotOrientation.VERTICAL, true, true, false);//申明jfreechart对象
jFreeChart.getTitle().setPaint(BLACK_BACKGROUND);
jFreeChart.getTitle().setFont(FONT20);//头部标题字体,解决中文问题
LegendTitle legendtitle = new LegendTitle(jFreeChart.getPlot());
&&&&&&& BlockContainer blockcontainer = new BlockContainer(new BorderArrangement());
&&&&&&& blockcontainer.setBorder(new BlockBorder(1.0D, 1.0D, 1.0D, 1.0D));
&&&&&&& LabelBlock labelblock = new LabelBlock("即时涨跌幅:", new Font("宋体", 1, 12));
&&&&&&& labelblock.setPadding(5D, 5D, 5D, 5D);
&&&&&&& blockcontainer.add(labelblock, RectangleEdge.TOP);
&&&&&&& LabelBlock labelblock1 = new LabelBlock(DateUtil.date2String(new Date(), "yyyy-MM-dd"));
&&&&&&& labelblock1.setPadding(8D, 20D, 2D, 5D);
&&&&&&& blockcontainer.add(labelblock1, RectangleEdge.BOTTOM);
&&&&&&& BlockContainer blockcontainer1 = legendtitle.getItemContainer();
&&&&&&& blockcontainer1.setPadding(2D, 10D, 5D, 2D);
&&&&&&& blockcontainer.add(blockcontainer1);
&&&&&&& legendtitle.setWrapper(blockcontainer);
&&&&&&& legendtitle.setPosition(RectangleEdge.RIGHT);
&&&&&&& legendtitle.setHorizontalAlignment(HorizontalAlignment.LEFT);
&&&&&&& jFreeChart.addSubtitle(legendtitle);
&&&&&&& jFreeChart.getLegend().setVisible(false);//不显示系统生成的解释性语句
//
jFreeChart.getLegend().setItemFont(FONT15);//底部标题字体,解决中文问题
//
jFreeChart.getLegend().setPadding(50D, 15D, 50D, 15D);//设置解释性标题框的据窗体的高,据左,据上下,据右
//
jFreeChart.getLegend().setPosition(RectangleEdge.RIGHT);//让 解释性标题 显示到窗体右边
XYPlot xyPlot = jFreeChart.getXYPlot();//创建画图布
xyPlot.setBackgroundPaint(WHITE_BACKGROUND);//设置面板背景色
xyPlot.setDomainGridlinesVisible(true);//设置Y轴线是否可以显示
xyPlot.setRangeGridlinesVisible(true);//设置X轴线是否可以显示
xyPlot.setRangeGridlinePaint(BLACK_BACKGROUND); //设置Y轴线的颜色
xyPlot.setDomainGridlinePaint(BLACK_BACKGROUND);//设置x轴线的颜色
DateAxis x = (DateAxis)xyPlot.getDomainAxis();
x.setAutoRange(true);//X轴是否自动
x.setTickLabelFont(FONT10);
x.setTickLabelPaint(Color.red);
x.setTickLabelsVisible(false);//由于此图不需要X轴。所以设置为false
NumberAxis y = (NumberAxis)xyPlot.getRangeAxis();
y.setAutoRange(true);//X轴是否自动
y.setTickLabelFont(FONT10);
y.setTickLabelPaint(BLACK_BACKGROUND);
y.setRange(minValue-5,highValue+5);//设置Y轴范围
y.setTickUnit(new NumberTickUnit(5D, NumberFormat.getInstance()));//设置Y轴刻线密度
XYBarRenderer render = (XYBarRenderer)xyPlot.getRenderer();//用来设置每个柱子的属性
for(int i=0;i&colorList.size();i++)//设置颜色
render.setSeriesPaint(i,colorList.get(i));
render.setMargin(0.5);//柱子距离
ChartFrame frame = new ChartFrame("即时涨跌幅", jFreeChart);
//
frame.setPreferredSize(new Dimension(400,500));
frame.pack();
frame.setVisible(true);
return jFreeC
* 获取时间年月日
public static int[] getDay3()
int[] date = new int[3];
Calendar canle = Calendar.getInstance();
int day = canle.get(Calendar.DATE);
int month = canle.get(Calendar.MONTH);
int year = canle.get(Calendar.YEAR)+1;
public static void main(String[] paramArrayOfString)
List&String& nameList = new ArrayList&String&();
nameList.add("股票");
nameList.add("基金");
nameList.add("债券");
nameList.add("黄金");
List&Object& numberList = new ArrayList&Object&();
numberList.add(10);
numberList.add(20);
numberList.add(-10);
numberList.add(-15);
List&Color& colorList = new ArrayList&Color&();
colorList.add(new Color(79,129,189));
colorList.add(new Color(192,80,77));
colorList.add(new Color(155,187,89));
colorList.add(new Color(128,100,162));
createChart(createDataset(nameList,numberList),colorList);
浏览: 13399 次
来自: 上海JFreeChart如何实现柱状图 一个柱子有多段数据 - 开源中国社区
当前访客身份:游客 [
当前位置:
共有1个答案
<span class="a_vote_num" id="a_vote_num_
不是使用StackedBarchart可以实现的吗?
更多开发者职位上
有什么技术问题吗?
nicylc...的其它问题
类似的话题

我要回帖

更多关于 手机收到拍拍贷验证码 的文章

 

随机推荐