{"id":46659,"date":"2021-08-13T00:00:00","date_gmt":"2021-08-13T07:00:00","guid":{"rendered":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/blog\/data-visualization-with-jfreechart-and-griddb\/"},"modified":"2025-11-13T12:55:31","modified_gmt":"2025-11-13T20:55:31","slug":"data-visualization-with-jfreechart-and-griddb","status":"publish","type":"post","link":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/","title":{"rendered":"Data Visualization with Jfreechart and GridDB"},"content":{"rendered":"<h2>Introduction<\/h2>\n<p>Data visualization is the process of representing data or information in a chart, graph, or other visual formats. It communicates the relationships between various data variables using images.<\/p>\n<p>A visual summary of data makes it easy for anyone to identify trends and patterns than searching through tens, hundreds, thousands, or even millions of rows in a spreadsheet. That&#8217;s how the human brain works.<\/p>\n<p>The goal of data analysis is to extract insights from data and data becomes more valuable when it is visualized. Although it is possible for data analysts to extract insights from data without visualizing it, it will be difficult for them to communicate the trends and patterns without visualization.<\/p>\n<p>In this article, we will be discussing how to visualize data in Java using JFreeChart and GridDB.<\/p>\n<h2>Understanding JFreeChart<\/h2>\n<p>JFreeChart is a Java library for creating charts. It allows its users to create a wide variety of both interactive and non-interactive charts. With JFreeChart, you can create bar charts, line charts, scatter charts, area charts, gantt charts, pie charts, and specialized charts like bubble chart and wind chart.<\/p>\n<p>JFreeChart is a customizable library. It makes it easy for you to change the paints and colors of chart items, styles of markers or lines, legends, and more. JFreeChart automatically creates the legends and axis scales. Charts created with JFreeChart can zoom in with the mouse. JFreeChart allows you to save your charts in different formats including SVG, JPEG, PDF, and PNG.<\/p>\n<h2>Using JFreeChart to Visualize Data<\/h2>\n<p>Now that you are familiar with JFreeChart, let us start to use it for data visualization. We will be creating a Histogram that visualizes the amount of revenue generated from the sale of different products. The data has been stored in a CSV (Comma Separated Values) format as shown below:<\/p>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2021\/07\/data.png\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2021\/07\/data.png\" alt=\"\" width=\"197\" height=\"276\" class=\"aligncenter size-full wp-image-27693\" \/><\/a><\/p>\n<p>We will first move the data from the CSV file (data.csv) into GridDB and then pull it from GridDB for visualization.<\/p>\n<h3>Add JFreeChart to your Project<\/h3>\n<p>You will need JFreeChart to visualize your data. You can download it from the following URL<\/p>\n<p>https:\/\/www.jfree.org\/jfreechart\/download\/<\/p>\n<p>Download the latest version of JFreeChart. Once the download is complete, extract the downloaded file.<\/p>\n<p>We need to add two jar files to the project.<\/p>\n<p>In Eclipse, follow the steps given below:<\/p>\n<p><strong>Step 1:<\/strong> Right click the name of the project on the Project Explorer and select &#8220;Properties..&#8221; from the pop up menu.<\/p>\n<p><strong>Step 2:<\/strong> Do the following on the Properties dialog:<\/p>\n<ol>\n<li>\n<p>Select the Java Build path from the list given on the left<\/p>\n<\/li>\n<li>\n<p>Click the &#8220;Libraries&#8221; tab<\/p>\n<\/li>\n<li>\n<p>Click the &#8220;Add external JARS&#8230;&#8221; button and navigate to the location where you&#8217;ve extracted the JFreeChart file. Open its &#8220;lib&#8221; folder. In my case, I find in the following directory:<\/p>\n<pre><code>jfreechart-1.0.19jfreechart-1.0.19lib\n<\/code><\/pre>\n<\/li>\n<li>\n<p>Select the files &#8220;jcommon- &#8230;&#8221; and &#8220;jfreechart- &#8230;&#8221; and click the &#8220;Open&#8221; button.<\/p>\n<\/li>\n<\/ol>\n<p><strong>Step 3:<\/strong> Click &#8220;OK&#8221; to close the dialog box.<\/p>\n<p>You will have added the two jar files of the JFreeChart library to your Java project.<\/p>\n<p>Note that you can also use these jar files from the terminal of your operating system. You will learn this later.<\/p>\n<h2>Import the Packages<\/h2>\n<p>Now that you&#8217;ve added the files to your project, let&#8217;s import some packages to the project:<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">import org.jfree.chart.*;\nimport org.jfree.data.*;\nimport org.jfree.data.xy.*;\nimport org.jfree.chart.plot.*;\nimport org.jfree.data.category.*;\nimport org.jfree.chart.renderer.category.*;\nimport org.jfree.data.general.DefaultPieDataset;\nimport java.awt.*;<\/code><\/pre>\n<\/div>\n<p>Next, I will be showing you how to establish a connection to GridDB from Java and write the .csv data into it.<\/p>\n<h2>Connect to the Database<\/h2>\n<p>We should now establish a connection to the GridDB database. First, let&#8217;s import another set of packages to help us work with the GridDB:<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">import com.toshiba.mwcloud.gs.Collection;\nimport com.toshiba.mwcloud.gs.GSException;\nimport com.toshiba.mwcloud.gs.GridStore;\nimport com.toshiba.mwcloud.gs.GridStoreFactory;\nimport com.toshiba.mwcloud.gs.Query;\nimport com.toshiba.mwcloud.gs.RowKey;\nimport com.toshiba.mwcloud.gs.RowSet;\nimport java.util.Properties;\nimport java.util.Collection;<\/code><\/pre>\n<\/div>\n<p>Next, let&#8217;s define the container &#8220;Sales&#8221; as a static Java class:<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\"> static class Sales {\n    @RowKey char product;\n    int revenue;\n}<\/code><\/pre>\n<\/div>\n<p>The container <code>Sales<\/code> has two columns namely <code>product<\/code> and <code>revenue<\/code>. Each of these has been represented in the above static class in the form of variables.<\/p>\n<p>It&#8217;s now time to establish a connection to GridDB. You should create a Properties instance and specify the details of your GridDB installation:<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">Properties props = new Properties();\n        props.setProperty(\"notificationAddress\", \"239.0.0.1\");\n        props.setProperty(\"notificationPort\", \"31999\");\n        props.setProperty(\"clusterName\", \"defaultCluster\");\n        props.setProperty(\"user\", \"admin\");\n        props.setProperty(\"password\", \"admin\");\n        GridStore store = GridStoreFactory.getInstance().getGridStore(props);<\/code><\/pre>\n<\/div>\n<p>In the above code, I have specified the details of my GridDB installation, including the cluster name, username, and password. You can change them to reflect the details of your GridDB installation.<\/p>\n<p>To run a query against the database, we should first get the container, that is, the <code>Sales<\/code> container:. The following code will help us achieve this:<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">Collection&lt;String, Sales> coll = store.putCollection(\"col01\", Sales.class);<\/code><\/pre>\n<\/div>\n<p>An instance of the container has been created and given the name <code>coll<\/code>. Thus, anytime we need to access the container, we will be using the name <code>coll<\/code>.<\/p>\n<h2>Read the Data and Store it in GridDB<\/h2>\n<p>We should read our data from the &#8220;data.csv&#8221; file and store it in GridDB.<\/p>\n<p>Use the following code:<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">File myfile = new File(\"data.csv\");\n                Scanner sc = new Scanner(myfile);\n                String data = sc.next();\n \n                while (sc.hasNext()){\n                        String scData = sc.next();\n                        String dataList[] = scData.split(\",\");\n                        String product = dataList[0];\n                        String revenue = dataList[1];\n                        \n                        \n                        Sales sales = new Sales();\n    \n                        sales.product = product;\n                        sales.revenue = Integer.parseInt(revenue);\n                        coll.append(sales);\n                 }<\/code><\/pre>\n<\/div>\n<p>The code given above reads data from the &#8220;data.csv&#8221; file and creates a <code>sales<\/code> object. The code has then appended the &#8220;sales&#8221; object into the GridDB database. Note that we&#8217;ve set a comma (,) as the delimiter for the .csv dataset.<\/p>\n<h2>Retrieve Data from GridDB<\/h2>\n<p>It&#8217;s time to pull the data from GridDB so as to visualize it. Use the following code:<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">Query&lt;sales> query = coll.query(\"select *\");\n                RowSet&lt;\/sales>&lt;sales> rs = query.fetch(false);\n                while (rs.hasNext()) {\n                RowSet res = query.fetch();  \n                }&lt;\/sales><\/code><\/pre>\n<\/div>\n<p>We have used the <code>Select<\/code> statement to fetch all the data from the GridDB container. Next, we will be generating a histogram from this data.<\/p>\n<h2>Visualize the Data<\/h2>\n<p>We can now use JFreeChart to create a historgram that visualizes our data. It comes with a function named <code>createBarChart()<\/code> that we can use to create a histogram. The name of the dataset to be visualized should be passed to the function as a parameter as shown below:<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">JFreeChart histogram = ChartFactory.createBarChart\n  (\"GridDB and JFreeChart\",\"Product\", \"Revenue\", res, \n   PlotOrientation.VERTICAL, false,true, false);\n   histogram.setBackgroundPaint(Color.white);\n  histogram.getTitle().setPaint(Color.red); \n  CategoryPlot cp = histogram.getCategoryPlot(); \n  cp.setRangeGridlinePaint(Color.blue); \n  ChartFrame frame=new ChartFrame(\"Bar Chart\",histogram);\n  frame.setVisible(true);\n  frame.setSize(600,400);    <\/code><\/pre>\n<\/div>\n<p>We have specified the names to be given to both the X and the Y axis of the chart as well as the title. The dataset to be used to plot the histogram is <code>res<\/code>. We have also added colors to the chart.<\/p>\n<h2>Compile and Execute the Code<\/h2>\n<p>First, login as the <code>gsadm<\/code> user. Move your <code>.java<\/code> file and the <code>.jar<\/code> files for JFreeChart to the <code>bin<\/code> folder of your GridDB located in the following path:<\/p>\n<p>\/griddb_4.6.0-1_amd64\/usr\/griddb-4.6.0\/bin<\/p>\n<p>You can find the <code>.jar<\/code> files under the &#8220;lib&#8221; folder of JFreeChart.<\/p>\n<p>Next, run the following command on your Linux terminal to set the path for the gridstore.jar file:<\/p>\n<pre><code>export CLASSPATH=$CLASSPATH:\/home\/osboxes\/Downloads\/griddb_4.6.0-1_amd64\/usr\/griddb-4.6.0\/bin\/gridstore.jar\n<\/code><\/pre>\n<p>Also, set the path for the <code>.jar<\/code> file for JFreeChart:<\/p>\n<pre><code>export CLASSPATH=$CLASSPATH:\/home\/osboxes\/Downloads\/griddb_4.6.0-1_amd64\/usr\/griddb-4.6.0\/bin\/jfreechart-1.0.1.jar\n<\/code><\/pre>\n<p>Next, navigate to the above directory and run the following command to compile your <code>DataVisualization.java<\/code> file:<\/p>\n<pre><code>javac -cp jfreechart-1.0.1.jar -cp jcommon-1.0.0.jar DataVisualization.java\n<\/code><\/pre>\n<p>Run the .class file that is generated by running the following command:<\/p>\n<pre><code>java DataVisualization\n<\/code><\/pre>\n<p>The code should generate the following chart:<\/p>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2021\/07\/histogram.png\"><img decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2021\/07\/histogram.png\" alt=\"\" width=\"578\" height=\"390\" class=\"aligncenter size-full wp-image-27692\" srcset=\"\/wp-content\/uploads\/2021\/07\/histogram.png 578w, \/wp-content\/uploads\/2021\/07\/histogram-300x202.png 300w\" sizes=\"(max-width: 578px) 100vw, 578px\" \/><\/a><\/p>\n<p>Congratulations!<\/p>\n<p>That&#8217;s how to visualize data in Java using JFreeChart and GridDB.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Data visualization is the process of representing data or information in a chart, graph, or other visual formats. It communicates the relationships between various data variables using images. A visual summary of data makes it easy for anyone to identify trends and patterns than searching through tens, hundreds, thousands, or even millions of rows [&hellip;]<\/p>\n","protected":false},"author":41,"featured_media":27706,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[121],"tags":[],"class_list":["post-46659","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Data Visualization with Jfreechart and GridDB | GridDB: Open Source Time Series Database for IoT<\/title>\n<meta name=\"description\" content=\"Introduction Data visualization is the process of representing data or information in a chart, graph, or other visual formats. It communicates the\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Data Visualization with Jfreechart and GridDB | GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"og:description\" content=\"Introduction Data visualization is the process of representing data or information in a chart, graph, or other visual formats. It communicates the\" \/>\n<meta property=\"og:url\" content=\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/\" \/>\n<meta property=\"og:site_name\" content=\"GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/griddbcommunity\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-13T07:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-13T20:55:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/wp-content\/uploads\/2021\/07\/GridDB-JFreeChart.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1160\" \/>\n\t<meta property=\"og:image:height\" content=\"653\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"griddb-admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:site\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"griddb-admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/\"},\"author\":{\"name\":\"griddb-admin\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233\"},\"headline\":\"Data Visualization with Jfreechart and GridDB\",\"datePublished\":\"2021-08-13T07:00:00+00:00\",\"dateModified\":\"2025-11-13T20:55:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/\"},\"wordCount\":1057,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/griddb.net\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2021\/07\/GridDB-JFreeChart.png\",\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/\",\"url\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/\",\"name\":\"Data Visualization with Jfreechart and GridDB | GridDB: Open Source Time Series Database for IoT\",\"isPartOf\":{\"@id\":\"https:\/\/griddb.net\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2021\/07\/GridDB-JFreeChart.png\",\"datePublished\":\"2021-08-13T07:00:00+00:00\",\"dateModified\":\"2025-11-13T20:55:31+00:00\",\"description\":\"Introduction Data visualization is the process of representing data or information in a chart, graph, or other visual formats. It communicates the\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/#primaryimage\",\"url\":\"\/wp-content\/uploads\/2021\/07\/GridDB-JFreeChart.png\",\"contentUrl\":\"\/wp-content\/uploads\/2021\/07\/GridDB-JFreeChart.png\",\"width\":1160,\"height\":653},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/griddb.net\/en\/#website\",\"url\":\"https:\/\/griddb.net\/en\/\",\"name\":\"GridDB: Open Source Time Series Database for IoT\",\"description\":\"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL\",\"publisher\":{\"@id\":\"https:\/\/griddb.net\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/griddb.net\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/griddb.net\/en\/#organization\",\"name\":\"Fixstars\",\"url\":\"https:\/\/griddb.net\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"contentUrl\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"width\":200,\"height\":83,\"caption\":\"Fixstars\"},\"image\":{\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/griddbcommunity\/\",\"https:\/\/x.com\/GridDBCommunity\",\"https:\/\/www.linkedin.com\/company\/griddb-by-toshiba\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233\",\"name\":\"griddb-admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g\",\"caption\":\"griddb-admin\"},\"url\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/author\/griddb-admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Data Visualization with Jfreechart and GridDB | GridDB: Open Source Time Series Database for IoT","description":"Introduction Data visualization is the process of representing data or information in a chart, graph, or other visual formats. It communicates the","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/","og_locale":"en_US","og_type":"article","og_title":"Data Visualization with Jfreechart and GridDB | GridDB: Open Source Time Series Database for IoT","og_description":"Introduction Data visualization is the process of representing data or information in a chart, graph, or other visual formats. It communicates the","og_url":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/","og_site_name":"GridDB: Open Source Time Series Database for IoT","article_publisher":"https:\/\/www.facebook.com\/griddbcommunity\/","article_published_time":"2021-08-13T07:00:00+00:00","article_modified_time":"2025-11-13T20:55:31+00:00","og_image":[{"width":1160,"height":653,"url":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/wp-content\/uploads\/2021\/07\/GridDB-JFreeChart.png","type":"image\/png"}],"author":"griddb-admin","twitter_card":"summary_large_image","twitter_creator":"@GridDBCommunity","twitter_site":"@GridDBCommunity","twitter_misc":{"Written by":"griddb-admin","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/#article","isPartOf":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/"},"author":{"name":"griddb-admin","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233"},"headline":"Data Visualization with Jfreechart and GridDB","datePublished":"2021-08-13T07:00:00+00:00","dateModified":"2025-11-13T20:55:31+00:00","mainEntityOfPage":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/"},"wordCount":1057,"commentCount":0,"publisher":{"@id":"https:\/\/griddb.net\/en\/#organization"},"image":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2021\/07\/GridDB-JFreeChart.png","articleSection":["Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/","url":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/","name":"Data Visualization with Jfreechart and GridDB | GridDB: Open Source Time Series Database for IoT","isPartOf":{"@id":"https:\/\/griddb.net\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/#primaryimage"},"image":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2021\/07\/GridDB-JFreeChart.png","datePublished":"2021-08-13T07:00:00+00:00","dateModified":"2025-11-13T20:55:31+00:00","description":"Introduction Data visualization is the process of representing data or information in a chart, graph, or other visual formats. It communicates the","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/blog\/data-visualization-with-jfreechart-and-griddb\/#primaryimage","url":"\/wp-content\/uploads\/2021\/07\/GridDB-JFreeChart.png","contentUrl":"\/wp-content\/uploads\/2021\/07\/GridDB-JFreeChart.png","width":1160,"height":653},{"@type":"WebSite","@id":"https:\/\/griddb.net\/en\/#website","url":"https:\/\/griddb.net\/en\/","name":"GridDB: Open Source Time Series Database for IoT","description":"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL","publisher":{"@id":"https:\/\/griddb.net\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/griddb.net\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/griddb.net\/en\/#organization","name":"Fixstars","url":"https:\/\/griddb.net\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/","url":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","contentUrl":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","width":200,"height":83,"caption":"Fixstars"},"image":{"@id":"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/griddbcommunity\/","https:\/\/x.com\/GridDBCommunity","https:\/\/www.linkedin.com\/company\/griddb-by-toshiba"]},{"@type":"Person","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233","name":"griddb-admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g","caption":"griddb-admin"},"url":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/author\/griddb-admin\/"}]}},"_links":{"self":[{"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/posts\/46659","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/comments?post=46659"}],"version-history":[{"count":1,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/posts\/46659\/revisions"}],"predecessor-version":[{"id":51334,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/posts\/46659\/revisions\/51334"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/media\/27706"}],"wp:attachment":[{"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/media?parent=46659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/categories?post=46659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/wp-json\/wp\/v2\/tags?post=46659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}