jfreechart柱形图 一个柱子上怎么弄多种颜色
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jfreechart柱形图 一个柱子上怎么弄多种颜色相关的知识,希望对你有一定的参考价值。
参考技术A可以用StackedBarChart来设置多个Series,每个Series会是一个颜色。如下图:
以下是部分代码,使用覆盖修改柱上series颜色
public JFreeChart toBudgetChart(String [] rowKeys,double [][] dataArray,String [] columnKeys){
CategoryDataset dpd = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys,dataArray);
JFreeChart chart = ChartFactory.createStackedBarChart(chartParams.getTitle(), chartParams.getxDescrip(), chartParams.getyDescrip(), dpd, PlotOrientation.VERTICAL, true, false,false);
CategoryPlot plot = chart.getCategoryPlot();
StackedBarRenderer renderer = new CustomBarRenderer(chartParams);
renderer.setSeriesPaint(0, Color.blue);
renderer.setSeriesPaint(1, Color.red);
}
//自定义颜色显示
static class CustomBarRenderer extends StackedBarRenderer
private static double [][] _chartParams;
public CustomBarRenderer(double [][] dataArray)
_chartParams = dataArray;
@Override
public Paint getItemPaint(int i, int j)
double [] item = _chartParams[j];
//i=0为显示的第一个值,即较小值,i=1为较大值
//比较销售及目标,展示颜色
if(i == 0)
if(item[0]>item[1])
return Color.blue;
else
return Color.red;
else
if(item[0]>item[1])
return Color.blue;
else
return Color.red;
我想用EXCEL做一个柱形图图表,怎样才能将图表的纵坐标设置成科学计数法,要是10的N次方那种形式哦
首先插入一列或一行,通过除以10^n的方法,计算出科学记数法的小数部分。请你把计算结果所在单元格格式的“数字”类型选为“自定义”
右面输入:
0.00×1"0"^n
其中,0.00表示一位整数,2位小数,小数请自己决定位数,有几个0就是几位。
后面引号中×是乘号,"0"表示数字0,为了不被识别为通配符加了引号,而1没必要加引号因为不是通配符,n和你之前除以的数保持一致就好。
例如:
2400,8009,2898,900
这么一组,除以1000,得到2.4,8.009,2.898.0.900,之后按照上法就可以显示为
2.4×10^3 …… 参考技术A 我用的EXCEL 2007,有两个办法:
1. 画图之后,选择纵坐标,点右键,设置坐标格式,坐标轴选项里有一个对数坐标格式,基数设为10即可。坐标的数字格式选项只能为一般数字格式或者科学计数格式0.00E+00
2. 先计算好数字再画图。插入一列,用对数函数=LOG10()计算,以得到的结果再画图。纵坐标的标题你可以输入为10^n标示一下. 参考技术B 在Excel工具栏上有常规选项,点开下拉菜单里边有科学技术10的2次方。选中就可以了
以上是关于jfreechart柱形图 一个柱子上怎么弄多种颜色的主要内容,如果未能解决你的问题,请参考以下文章