Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用Google Chart API从数据库生成图表

使用Google Chart API从数据库生成图表
EN

Stack Overflow用户
提问于 2012-03-14 00:11:50
回答 1查看 1.7K关注 0票数 1

我有一个servlet,它应该从google chart api生成一个图像图表,但它不是..下面是我的servlet的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package Graph;

public class Graph extends HttpServlet {

    private static final String DatabaseConnection = null;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public Graph() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        // TODO Auto-generated method stub
                OutputStreamWriter writer = new OutputStreamWriter(response.getOutputStream());
                System.out.println("SensorGraph");

                response.setContentType("text/html");
                PrintWriter out = response.getWriter();
                //sensor Id
                String id = request.getParameter("id");
                // limit in the query
                String limit = request.getParameter("limit");
                DatabaseConnection db_connection =  new DatabaseConnection()._instance;
                Connection connection = null;
                try {
                    connection = db_connection.getConnection();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                Statement statement;
                ResultSet resultSet;
                try {
                    statement = (Statement) connection.createStatement();
                    resultSet = statement.executeQuery("select * from Sensor_Entries order by EntryTime asc limit 5)");
                    String values = "";
                    while(resultSet.next()) {
                        String value = resultSet.getString("EntryValue");
                        values += (value) + ",";
                    }
                    System.out.println(values);
                    values = values.substring(0, values.length()-1);


                    String image = "http://chart.apis.google.com/chart?" +
                            "chxr=0,0,1000" +
                            "&chxs=0,676767,12.167,-0.5,l,676767" +
                            "&chxt=y" +
                            "&chs=300x225" +
                            "&cht=ls" +
                            "&chco=3D7930" +
                            "&chds=0,1000" +
                            "&chd=t:" + values+
                            "&chg=14.3,-1,1,1" +
                            "&chls=2,4,0" +
                            "&chma=0,6%7C3" +
                            "&chm=B,C5D4B5BB,0,0,0" +
                            "&chtt=Sensor+Values" +
                            "&chts=F00D0D,14.5";
                    if(request.getParameter("img") != null)
                        out.write("<img src=\"" + image + "\" />");

                    statement = (Statement) connection.createStatement();
                    resultSet = statement.executeQuery("select * from Sensors join " +
                            "(select * from Sensor_Entries order by EntryTime desc) as Sensor_Entries on " +
                            "(Sensors.SensorID=Sensor_Entries.SensorID) where Sensors.SensorID='" + id + "' " +
                            "group by Sensors.SensorID;");

                    ResultSetMetaData resultSetMetaData = (ResultSetMetaData) resultSet.getMetaData();
                    if(resultSet.next()) {
                        writer.write("<table>");
                        for(int i = 1; i < resultSetMetaData.getColumnCount() + 1; i++) {
                            String value = "";
                            int type = resultSetMetaData.getColumnType(i);
                            if(type == Types.INTEGER || type == Types.TINYINT) {
                                value = "" + resultSet.getInt(i);
                            } else if(type == Types.VARCHAR) {
                                value = resultSet.getString(i);
                            } else if(type == Types.TIMESTAMP) {
                                value = resultSet.getTimestamp(i).toString();
                            } else if(type == Types.DOUBLE) {
                                value = "" + resultSet.getDouble(i);
                            }
                            writer.write("<tr>" +
                                    "<td>" + resultSetMetaData.getColumnName(i) + "</td>" +
                                    "<td>" + value + "</td>" +
                                    "</tr>");
                        }
                        writer.write("</table></center>");
                    }
                    else
                        out.write(image);
                    out.flush();
                    out.close();
                } catch (SQLException ignored) { ignored.printStackTrace();  }
            }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
}
}

你能帮我解决这个问题吗?我正在使用eclipse ganymede和Tomcat6来完成这项工作……DatabaseConnection db_connection = new DatabaseConnection()._instance;只是一个连接实例,它是我从一个类中获得的,这个类是为了连接到数据库而特意创建的……

EN

回答 1

Stack Overflow用户

发布于 2012-03-14 22:43:12

...This问题现已解决...Graph的构造函数中的super()不是必需的。这解决了图形不显示的主要问题...

我现在需要能够刷新从EntryValues表中获取数据的整个过程,并重新生成图形……你们中有谁有办法解决这样的问题吗?说每10秒刷新一次?...请注意,我不是试图刷新已经生成的grahp,我想每10秒检索一次数据,将值存储在google图形链接中,最终将生成图形图像…

感谢您的支持,如果有人不得不处理这样的问题,请尽快让我知道…

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9694150

复制
相关文章
C# 生成chart图表的三种方式
在.net中,微软给我们提供了画图类(system.drawing.imaging),在该类中画图的基本功能都有。比如:直线、折线、矩形、多边形、椭圆形、扇形、曲线等等,因此一般的图形都可以直接通过代码画出来。接下来介绍一些画图函数: Bitmap bmap=new Bitmap(500,500) /定义图像大小; bmap.Save(stream,imagecodecinfo) /将图像保存到指定的输出流; Graphics gph /定义或创建gdi绘图对像; PointF cpt /定义二维平面中x,y坐标; DrawString(string,font,brush,ponitf) /用指定的brush和font对像在指定的矩形或点绘制指定的字符串; DrawLine(pen,ponit,ponit) /用指定的笔(pen)对像绘制指定两点之间直线; DrawPolygon(pen,ponit[]) /用指定的笔(pen)对像绘制指定多边形,比如三角形,四边形等等; FillPolygon(brush,ponit[]) /用指定的刷子(brush)对像填充指定的多边形; DrawEllipse(pen,x,y,width,height) /用指定的笔绘制一个边框定义的椭圆; FillEllipse(brush,x,y,width,height) /用指定的刷子填充一个边框定义的椭圆; DrawRectangle(pen,x,y,width,height) /用指定的笔绘制一个指定坐标点、宽度、高度的矩形; DrawPie(pen,x,y,width,height,startangle,sweepangle) /用指定的笔绘制一个指定坐标点、宽度、高度以及两条射线组成的扇形;
zls365
2020/10/10
3.9K0
C# 生成chart图表的三种方式
VS2017中使用QT Chart图表
有关QtChart的介绍在这就不详谈了,想要具体了解的百度就可以,官网和网站大多数都是介绍如何在QtCreator中使用QtChart,而本文主要介绍如何在vs中使用。
zls365
2020/09/28
2.5K0
VS2017中使用QT Chart图表
快速学习JasperReport-Chart图表
(3)创建chart图标 第一步:palette面板找到chart图表,拖拽到band中 第二步:选择需要的图表类型
cwl_java
2020/02/11
1.2K0
使用ichartjs生成图表
官网:http://www.ichartjs.com/   ichartjs 是一款基于HTML5的图形库。使用纯javascript语言, 利用HTML5的canvas标签绘制各式图形。 ichartjs致力于为您的应用提供简单、直观、可交互的体验级图表组件。是WEB/APP图表展示方面的解决方案 。如果你正在开发HTML5的应用,ichartjs正好适合您。 ichartjs目前支持饼图、环形图、折线图、面积图、柱形图、条形图。ichartjs是基于Apache License 2.0协议的开源项目。
二十三年蝉
2018/03/01
1.8K0
使用ichartjs生成图表
使用Google翻译Api
将环境变量GOOGLE_APPLICATION_CREDENTIALS设置为包含服务帐户密钥的JSON文件的文件路径。在Linux或macOS系统中设置方法如下:
职场亮哥
2020/10/10
4.6K0
VB.NET CHART图表示例
Imports System.Windows.Forms.DataVisualization.Charting
办公魔盒
2019/07/22
4.5K0
VB.NET CHART图表示例
dojo chart生成函数
写了一个函数,就是通过传递参数,生成图表,代码如下: /** * created by LZUGIS * @param container * @param type * @param data * @constructor */ function AddChart(container, type, data){ require([ "dojox/charting/Chart2D", "dojox/charting/themes/PlotKit/bl
牛老师讲GIS
2018/10/23
9040
图表(Chart & Graph)你真的用对了吗?
工作中,我们常常会遇到各式各样的数据,例如网站性能,销售业绩,客户服务 、营销活动等数据。对于这些数据,有哪些行之有效的方法来形象化数据,挖掘数据关系,提升数据价值呢?
葡萄城控件
2022/05/09
2.3K0
图表(Chart & Graph)你真的用对了吗?
Google JavaScript API 的使用
您可以使用JavaScript客户端库与Web应用程序中的Google API(例如,人物,日历和云端硬盘)进行交互。请按照此页面上的说明进行操作。
拿我格子衫来
2022/01/24
3K0
python使用plotly批量生成图表
本人在使用groovy爬取了全国3000+城市的历史天气之后,需要把每个城市的历史天气都绘制一张Time Series表格,用来反映各地的最高温最低温温差的变化曲线。这里遇到了一个问题,每次plotly绘制完图标总会调起系统浏览器打开呈现,一旦我批量生成N多张表格时,电脑就会卡死了。在使用中文作为文件名的时候遇到了一个错误,这个错误刚好能巧妙解决这个问题。在不同编码格式的字符拼接时文件路径时,会报错,报错内容如下: 'ascii' codec can't encode characters in position 69-70: ordinal not in range(128)
FunTester
2019/10/29
8930
python使用plotly批量生成图表
使用Google JS api 创建 文档
https://developers.google.com/docs/api/reference/rest/v1/documents/request#Request
拿我格子衫来
2022/01/24
3.3K0
使用Google JS api 创建 文档
手绘风格的 JS 图表库:Chart.xkcd
图表库千万个今天 HelloGitHub 给大家推荐个很有“特色”的图表库:一个手绘风格的 JS 图表库 —— Chart.xkcd,快收起你紧绷、严肃的面容让我们一起看看用手绘风格展示数据的效果。
HelloGitHub
2021/05/14
2.5K0
使用pd从数据库逆向生成pdm文件
使用pd从数据库逆向生成pdm文件 好久没更新博客了,最近忙着各种事,捞了点老本行java的一些东西,浑浑噩噩,花了几天时间用java搭建了一个小项目的restful接口,深深觉得这东西论效率被node甩几条街。。。 话不多说,powerdesigner估计都接触过,凡是设计过数据库的基本都用过,最近要设计一个商城系统,数据库量比较大,想着先参考网上的一些现有库,但是苦逼的是只有sql,没有完整的pd文件(ps:毕竟pd看着舒服,自己也可以再进行二次编辑),就想着pd应该可以将sql直接逆向生成pdm文件,
用户1141560
2018/05/28
1.8K0
Angularjs1.x ES6接入Chart图表
github:https://github.com/jtblin/angular-chart.js 官方网站:http://jtblin.github.io/angular-chart.js/
治电小白菜
2020/08/25
1K0
Angularjs1.x ES6接入Chart图表
Google Sheets新功能:通过自然语言指令自动生成图表
唐旭 编译整理 量子位出品 | 公众号 QbitAI Google Sheets更新了。今早,Google旗下图表编辑应用Sheets的产品经理Daniel Gundrum在博客上发文,详细介绍了Google Sheets此次更新增加的新功能。其中最大的亮点,是机器学习在数据可视化上的进一步应用:现在,用户可以通过输入自然语言指令,来让系统自动生成合适的图表。 这一更新是通过Explore——Google的自然语言搜索系统来实现的。 Gundrum在原文中说: “Sheets中的Explore由机器学习驱动
量子位
2018/03/28
2.1K0
Google Sheets新功能:通过自然语言指令自动生成图表
在 PHP 中使用 Google Charts API
利用 Google Chart API 可以制出各种统计图表,当前支持线形图、柱形图、饼形图、散点图、曲线图。Google Charts API Code 页面有对这个 API 使用的详细说明,但是还略显繁琐。今天发现有人开发了一个这个方面的 PHP 类,并且还包括三个例子,我就挑选一个例子结合自己的一个项目给大家讲解下如何使用:
Denis
2023/04/14
1.1K0
在 PHP 中使用 Google Charts API
Google JavaScript API
You can use the JavaScript client library to interact with Google APIs, such as People, Calendar, and Drive, from your web applications. Follow the instructions on this page to get started.
拿我格子衫来
2022/01/24
5870
Google 发布 Google Friend Connect API
Google Friend Connect 是 Google 推出的社会化网络工具,通过此工具你可以将各种支持 OpenSocial 的应用通过 Google Friend Connect 在你的网站上应用,并且可以和已有的社会化网络进行整合应用。今天 Google 更是开放了 Google Friend Connect 的 API,让你能够访问到更多 Google Friend Connect 核心的数据和功能。 Google Friend Connect 提供两种 API,JavaScript API 允许你能够直接集成社会化社区到你的网页中。REST API 能够允许你把网站的现有的登陆系统和数据集成新的社会化数据和活动,并能实现让你的网站实现通过 Gmail 账号,Yahoo 账号,OpenID 等方式实现单点登录。
Denis
2023/04/14
6470
使用Kustomize定制Helm Chart
如果你经常使用 Kubernetes,那么应该对 Helm 和 Kustomize 不陌生,这两个工具都是用来管理 Kubernetes 资源清单的,但是二者有着不同的工作方式。
CNCF
2020/09/22
2.3K0
使用Kustomize定制Helm Chart
点击加载更多

相似问题

使用Google chart API生成图表

20

使用google chart api显示图表

10

如何从google chart动态生成图表

21

Google Chart API - Google财经图表

32

google chart (使用日期轴生成图表)

01
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文