
正文
mysql怎么制作柱状图 mysql怎么制作表格
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
怎样用柱状图实现mysql数据库中的数据,现在我不知道怎么将数据库中的数据读取出来显示在柱状图上
public class CategoryItemChart {
public static String generateBarChart(HttpSession session, PrintWriter pw,int w, int h,ArrayList list) {
String filename = null;
try {
CategoryDataset dataset = createDataset(list);
JFreeChart chart = ChartFactory.createBarChart(
"",//图表标题
"",//X轴标题
"",//Y轴标题
dataset,//数据集合
PlotOrientation.VERTICAL,//图表显示方向(水平、垂直)
true,//是否使用图例
true,//是否使用工具提示
false//是否为图表增加URL
);
/*------------配置图表属性--------------*/
chart.setBackgroundPaint(Color.white); // 1,设置整个图表背景颜色
CategoryPlot plot = chart.getCategoryPlot(); /*------------设定Plot参数-------------*/
plot.setBackgroundPaint(Color.white); // 2,设置详细图表的显示细节部分的背景颜色
plot.setDomainGridlinePaint(Color.black); // 3,设置垂直网格线颜色
plot.setDomainGridlinesVisible(false); // 4,设置是否显示垂直网格线
plot.setRangeGridlinePaint(Color.yellow); // 5,设置水平网格线颜色
plot.setRangeGridlinesVisible(false); //6,设置是否显示水平网格线
/*---------将所有数据转换为整数形式---------*/
final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
/*---------设置是否在柱图的状态条上显示边框----*/
CategoryItemRenderer renderer = (CategoryItemRenderer) plot.getRenderer();
BarRenderer render = (BarRenderer) plot.getRenderer();
// render.setItemMargin(0.0);
// render.setMinimumBarLength(0.0);
/*---------设置状态条颜色的深浅渐变-----------*/
GradientPaint gp0 = new GradientPaint(0.0f, 0.0f, new Color(255,200, 80), 0.0f, 0.0f, new Color(255, 255, 40));
GradientPaint gp1 = new GradientPaint(0.0f, 0.0f, new Color(50,255, 50), 0.0f, 0.0f, new Color(100, 255, 100));
GradientPaint gp2 = new GradientPaint(0.0f, 0.0f, Color.red, 0.0f,0.0f, new Color(255, 100, 100));
GradientPaint gp3 = new GradientPaint(0.0f, 0.0f, new Color(108,108, 255), 0.0f, 0.0f, new Color(150, 150, 200));
renderer.setSeriesPaint(0, gp0);
renderer.setSeriesPaint(1, gp1);
renderer.setSeriesPaint(2, gp2);
renderer.setSeriesPaint(3, gp3);
/*
*
* 解决柱状体与图片边框的间距问题
*
*
* */
/*------设置X轴标题的倾斜程度----*/
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.E / 6.0));
/*------设置柱状体与图片边框的左右间距--*/
domainAxis.setLowerMargin(0.06);
domainAxis.setUpperMargin(0.06);
/*------设置柱状体与图片边框的上下间距---*/
ValueAxis rAxis = plot.getRangeAxis();
rAxis.setUpperMargin(0.3);
rAxis.setLowerMargin(0.3);
/*---------设置每一组柱状体之间的间隔---------*/
render.setItemMargin(0.01);
/*
*
* 解决柱状体与图片边框的间距问题
*
*
* */
/*
*
*
* 解决JFREECHART的中文显示问题
*
*
* */
/*----------设置消除字体的锯齿渲染(解决中文问题)--------------*/
chart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);
/*----------设置标题字体--------------------------*/
TextTitle textTitle = chart.getTitle();
textTitle.setFont(new Font("黑体", Font.PLAIN, 20));
/*------设置X轴坐标上的文字-----------*/
domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11));
/*------设置X轴的标题文字------------*/
domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12));
/*------设置Y轴坐标上的文字-----------*/
rAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 14));
/*------设置Y轴的标题文字------------*/
rAxis.setLabelFont(new Font("黑体", Font.PLAIN, 12));
/*---------设置柱状体上的显示的字体---------*/
renderer.setBaseItemLabelFont(new Font("宋体", Font.PLAIN, 12));
renderer.setBaseItemLabelGenerator(new LabelGenerator(0.0));
renderer.setBaseItemLabelsVisible(true);
/*
*
*
* 解决JFREECHART的中文显示问题
*
*
* */
/*------得到chart的保存路径----*/
ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
filename = ServletUtilities.saveChartAsPNG(chart, w, h, info,session);
/*------使用printWriter将文件写出----*/
ChartUtilities.writeImageMap(pw, filename, info, true);
pw.flush();
} catch (Exception e) {
System.out.println("Exception - " + e.toString());
e.printStackTrace(System.out);
filename = "public_error_500x300.png";
}
return filename;
}
/*-------------设置柱状体顶端的数据显示--------------*/
static class LabelGenerator implements CategoryItemLabelGenerator {
private double threshold;
public LabelGenerator(double threshold) {
this.threshold = threshold;
}
public String generateLabel(CategoryDataset dataset, int row, int column) {
String result = null;
final Number value = dataset.getValue(row, column);
if (value != null) {
final double v = value.doubleValue();
if (v this.threshold) {
result = value.toString();
}
}
return result;
}
public String generateRowLabel(CategoryDataset dataset, int row) {
return null;
}
public String generateColumnLabel(CategoryDataset dataset, int column) {
return null;
}
}
/*-----------数据封装-------------*/
private static CategoryDataset createDataset(ArrayList list) {
String s1 = "1";
String s2 = "2";
String c1 = "1";
String c2 = "2";
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.setValue(44, s1, c1);
dataset.setValue(48, s2, c2);
return dataset;
}
}
比较完整的一个得到柱图的代码,保存路径是临时文件,怎么从数据库取值应该会吧。把dataset处理一下就可以了。
相关问答
Q1: 怎么把数据做成柱状图
1. Excel 如何做多数据的柱状图
柱状图是经常需要绘制的图,本文讲解如何在软件绘制的默认的柱状图的基础上对柱状图进行美化设计,得到一张漂亮的柱状图。
1、录入数据。
2、选择数据,插入柱状图,得到软件默认的柱状图。
3、设计标题。在图表工具中选择图表标题→图表上方,然后输入需要的标题文字。设置标题字体和字号。选用笔划较粗的字体,使用大字号。
4、设计图例。选择在顶部显示图例,设置图例字体和字号。
5、设计柱形填充颜色。点选相同系列柱形,在图表工具→格式→形状填充中选择颜色。
6、设计数据标签。每一张图都有想说明的重点,所以不必将每个系列的数据标签都显示出,本例显示出第二系列的数据标签。选择数据标签外,显示出数据标签,并对数据设置字体和字号,并选用与系列柱形相同的颜色。
7、设计坐标轴。为了强化逐渐增加的趋势,可以将纵坐标轴的最大和最小刻度进行更改。因为已经显示出了数据标签,所以没必要再需要纵坐标轴,点击选择纵坐标轴,将其删除。点选横坐标轴,更改字体和字号。
8、设计网格线。无需网格线,将其删除。
9、整体再设计。这一步需要具体问题具体分析。本图因为是逐渐增加的风格,所以需要强化这个增加的趋势。把标题更改为居中覆盖标题,那么柱形将进一步扩大。同时手动将标题和图例移动到左边的空白区域,使整个图更显稳重。
10、增加对图形的说明。因为绘制图形的目的就是为了说明图形所要表达的意义,充分利用左边的空白区域,添加本图需要表达的意义。
11、设计柱形之间的间隔距离。双击柱形,弹出格式设置对话框,拖动滑块改变系类重叠和分类间距的值。
12、再为图增加一个边框。在格式→形状轮廓中选择颜色,选择边框的粗细和线型。可以适当宽点。得到最终美化的柱形图。
注意事项:整体上保持简约,颜色不宜过分鲜艳,不宜太过花哨。
我们用excel做图的时候需要将各图对应的数据显示在图中,具体怎么设置呢?本文提供两种参考方法,望您掌握。
步骤
以下面这个已经做好的柱状图为例,怎么设置显示数据呢?
其实在图做好后,我们会看到上面有一个图标工具——设计,里面有几种方案,其中就包括显示数据的设计。
选择其中一种看到柱状图有所变化,已经按其设计加上了数据。
换一种试试,也是如此。
还有一种最简单的方法,就是用鼠标在柱状图上右键单击,出现菜单,点击其中的添加数据标签。
数据出现在了柱状图顶部。
2. 如何把很多excel数据做成想要柱状图
1、首先,我们打开PPT,点击上方选项卡的插入,选择图表。
2、然后,选择一个柱状图,点击确定插入。
3、然后选择一个系列,我们来把它变成折线图,点击选择系列2。
4、选中之后,我们点击右键,下来菜单,选择更改系列图表类型。
5、进入更改图表类型界面,我们选择一个需要的折线图,点击确定。
6、确定之后,我们刚刚选中的那个系列2,就变成了折线图,是不是非常简单。
7、同理,我们还可以把其他需要变成折线图的系列变成折线图,如图。这样,我们就有两个折线图和一个柱状图一起的图表了。
8、我们知道了制作原理之后,接下来我们就根据实际的数据来填充,点击图表,右键下拉菜单,选择编辑数据。
9、在编辑数据的excel里,我们把我们需要的数据填充上去,如果需要更多的系列,我们就拉动右下角的边框,拉动区域大小,可以拖大或者缩小,添加更多的系列。
注意事项:我们这里,只能平面图里制作折线图和柱状图一起,不能更立体图来制作。
3. 怎么用excel做柱状图
(1)复制数据到excel2007,然后对源数据进行处理,由于excel是以直径为横坐标的,所以还需要对横坐标值进行小数位的省略,否则就会导致柱形图横坐标异常丑陋。小数位的省略请使用round(单元格,小数位)来做。
(2)选择插入选项卡,点击柱形图选项,下拉菜单中选择第一个柱状图。
(3)在空白图区域单击右键,选择“选择数据”
(4)在弹出的页面中,选择添加按钮。在弹出的新对话框中,输入百分比系列,然后选择系列值。
(5)选择完毕后,点击确定按钮。
(6)在对话框中,继续选择编辑按钮,在弹出的轴标签对话框中选择轴标签区域。同样点击确定按钮
(7)选择好轴标签后,点击确定按钮,完成数据源的选择。
(8)柱形图完成
4. 怎么样在excel中制作柱状图
也不知道你想做什么样的柱状图,也不知道你的excel版本,就拿得分榜举例好了,我用的2007 第一步先要做一个数据表(情尽情无视那些人名。
)
: 第二步在顶部功能菜单里选择插入图表中的柱状图(这个到底在哪里选,根据excel版本不同会有不同位置,我不能一一举例因为我只用excel2007),然后就能看到在下方表格区域中出现了个空白框框,就是图表区域 第三步:右键点图表区域,在出来的菜单里点“选择数据” 第四步:在弹出的操作界面中,将光标点在“图表数据区域”那里,然后鼠标选取之前做好的表格部分,能看到“图表数据区域”会自动将单元格范围识别,同时横轴纵轴信息也会自动识别,觉得没问题了,点确定就OK了。之后想调整再在右键菜单里选相应的设定项调整就可以了。
5. EXCEL表如何做柱状图
excel2007柱状图的制作步骤:
1.选中表格数据区域,单击菜单栏--插入--柱形图,选择二维柱形图中的第一种,簇状柱形图。
2.选中第一根柱形,单击更改图表类型,选择XY散点图,选择第一种散点图。
3.此时可以看到图表区域中已经添加了一个小图形,选中,单击布局--数据标签,设置为上方。
4.设置为上方之后,继续点击其他数据标签选项。
5.弹出设置数据标签格式界面,在标签选项中,勾选Y值,标签位置选择靠上。
6.然后进行误差线的设置,使用标准误差线。
7.右击插入的图形,设置错误栏格式。
8.在水平误差线标签中,显示方向为正偏差,末端样式无线端,固定值改为5,关闭对话框。
9.为水平误差线设置数据系列格式。
10.切换到数据标记选项标签,将标记类型选为无。
11.最后将水平误差线设置为轴内侧。
12.完成制作。
6. 怎么在excel中做柱状图
选择要做柱状图的数据区域-插入-图表-选择:柱状图-接着按电脑提示并结合实际情况进行操作即可。
要有数据才能做图表的,要先在Excel中建立带有数据的表格,然后选中你建的表格中的数据,选择“插入”菜单下的“图表”命令,然后根据提示向导做就可以了!
先打好你要做图表的那些数据,然后一定要把光标定在数据区域里,然后在"插入-图表",然后你会看到很多选择的,你要选择柱状图,然后按照提示一步一步做得可以了
Q2: 如何用matlab获取到的MySql数据库中的数据作柱状图
从数据库中不是已经返回数据mysql怎么制作柱状图了吗mysql怎么制作柱状图,剩下mysql怎么制作柱状图的就是如何解析这些返回的数据,然后用绘图命令绘制出来mysql怎么制作柱状图了
mysql怎么制作柱状图的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于mysql怎么制作表格、mysql怎么制作柱状图的信息别忘了在本站进行查找喔。






