QCChart2D for Java Charting Tools

Version 3

Add high-speed line plots, bar plots, scatter plots, open-high-low-close plots, candlestick plots, bubble plots, contour plots, histogram plots, polar plots, antenna plots, ring charts, and pie charts, to Java Applications and Applets using the QCChart2D Charting Tools for Java.
JPEG Images of some of the example programs that are included with the software. Click on the thumbnail image to view at actual size.

Financial and Stock Charting

Java Stock Technical Analysis Chart

Java Options Analysis Chart Java Currency Technical Analysis Chart

Java Stock Comparison Chart

Java S&P500 Hedge Chart


Engineering, Medical Charting and Graphics

Java Speaker Frequency Analysis Chart Java Antenna Chart Java Sleep Study Chart Java Medicare Drug Costs Chart
Java Stacked Graphs Chart Java Multi-Axes Chart Java Stacked and Group Bars Chart Vertical Elpased-Time Axis

Scientific Charting and Data Visualization

Java Filled Contour Chart Java Transistor Characteristic Curves Chart Java Simple Scatter Chart
Java Nasa Spending Chart Java Beta Pictoris Chart

Statistical Charting

Business and Marketing Charting

Java Dual Horizontal Bar Chart Java Simple Bar Chart  
Java Line Fill Chart Java Pie and Horizontal Bar Chart Java Stepped Line Chart
The QCChart2D for Java charting toolkit, written entirely using Java, is for developers who want to add sophisticated interactive charting graphics to their Java applications and applets. The toolkit includes support for linear, logarithmic, polar and antenna coordinate systems used by engineering and scientific end users. It also includes support for advanced time/date, event and elapsed time coordinate systems required by business end users. Advanced user interface functions allow users to interact with applications using the mouse: adding annotations, selecting, marking and moving data points, drilldown, tooltips and zooming into a particular chart region.
Anyone who purchased an earlier revision of QCChart2D for Java  in the previous two years can upgrade for free using the the download link(s) they were sent in an e-mail at the time of the original order. Versions older than that can be upgraded.


Ordering Information
License Information
QCChart2D for Java User Manual – View the QCChart2D user manual using Adobe Acrobat.
Frequently Asked Questions  – See a collection of frequently asked questions concerning the QCChart2D software.
Download Demo (880KB) * – Run the demo by right clicking  the downloaded QCChart2DJavaDemo.jar file and selecting Open With -> (your standard Java runtime environment, javaw or Java 2 Platform Standard Edition Library for example).
Download Trial Version (25MB)  – Unzip the downloaded Trial_QCChart2DJavaR2x0.zip file, preserving the directory structure.   Run the Setup.jar program in the resulting \QCChart2DJavaInstall directory using your standard Java runtime. Under Windows this can be done by right clicking the Setup.jar file and selecting Open With -> (your standard Java runtime environment, javaw or Java 2 Platform Standard Edition Library for example).  This results in the software being installed in the \Quinn-Curtis directory. As a bare minimum read Chapters 1, 23 and 24 of the manual, \Quinn-Curtis\java\docs\QCChart2DJavaManual.pdf. Chapter 23 will have usage information with respect to the Eclipse, JBuilder and JavaBeans Java IDEs. Post any questions you might have in the Quinn-Curtis Forum – QCChart2D for Java.
*Requires that your target system has the Java  5.0  or 6.0 Runtime Environment installed.  You can download the Java Runtime for free from Sun. Click Here !
Have any questions ? Contact: info@quinn-curtis.com

Feature Summary

  • Java IDE Independent – Tested and compatible with Eclipse, JBuilder and NetBeans.
  • Windows 32-bit/64-bit Compatible – The software will run as 32-bit on Windows 32-bit operating systems (XP and 32-bit  versions of Vista and Windows 7)  and as 64-bit on Windows 64-bit operating systems (64-bit versions of Vista to Windows 10). This is a feature of Java programs in general.
  • Plot Types – Line plots, area plots, bar plots, line marker plots, floating bars, scatter plots, group plots, open-high-low-close plots, error bar plots, pie charts, contour plots, candlestick plots, line gap plots, cell plots, histogram plots, arrow plots, bubble plots, polar plots, multi-line plots, stacked line plots, box and whisker plots, floating stacked bar plots, ring plots, antenna plots, versa plots.. An unlimited number of plot types can be combined in the same chart.
  • Datasets – Datasets hold the data plotted in the chart. Charts can plot an unlimited number of datasets, each dataset can contain an unlimited number of data points. Datasets can hold numeric and Java GregorianCalendar date/time  based data with millisecond resolution. Mark data points invalid, forcing a break in plotted lines.
Java Dataset Viewer Java Dataset Viewer
Simple dataset viewer  Group dataset viewer
  • Dataset Viewer – A new dataset viewer class will display simple and group datasets in a grid-like table. The grid can be positioned anywhere on the chart. Individual grid cells can be edited and the associated chart immediately updated using the synchronize feature.
  • Coordinate Systems – Linear, logarithmic, time/date and polar coordinate systems. An unlimited number of coordinate system, and axes, can be overlaid in the same plotting area of a graph.
  • Time/Date Coordinate Systems – The time/date scale is specified using Java GregorianCalendar objects. The time/date scales take into account the varying number of days in months and years. The scales can also take into account non-continuous time/date scales where a 5-day week is used, or where a full day consists of a specific time interval that can be something less than a 24-hour day. For example, it is possible to define a time/date scale where weekends are excluded and the day consists of the hours between 9:30 AM and 4:00 PM.
  • Elapsed Time Coordinate System – The original Time/Date scale proved less than optimal for the display of time span  data, i.e., time values not associated with a specific calendar date. Starting with Rev. 2.0, the software supports elapsed time plotting, based on a simple TimeSpan class.  The elapsed time scale can be either horizontal or vertical. This includes new dataset types (ElapsedTimeSimpleDataset, ElapsedTimeGroupDataset), a new coordinate system class (ElapsedTimeCoordinates), a new axis class (ElapsedTimeAxis) and a new axis labels class (ElapsedTimeAxisLabels).
  • Event-Based Coordinate System – Event-based charting further expands the plotting capability of QCChart2D – adding features important to the financial services industries.   The includes new dataset types EventSimpleDataset, EventGroupDataset), a new coordinate system class (EventCoordinates), a new axis class (EventAxis) and a new axis labels class (EventAxisLabels). For more information see: An Event-based Coordinate System for Use in the Plotting of Discontinuous Time Data.
Java Antenna Axes
 Linear axes     Logarithmic axes Polar axes   Antenna axes Date axes   
Elapsed Time Axis
 More date axes Standard time axes Time axes with custom range Elapsed time axis  Axis labels
  • Axis Types – Linear, logarithmic, time/date, event, elapsed time and polar axis types. All axis types have manual and auto-scaling modes for setting axis ranges. Axis auto-scaling modes handle multiple datasets, group data and contour data. A chart can have an unlimited number of axes.
  •  Axis Labels – Axes can have decimal, exponential, time, date, string and multi-line labels. Programmers can define custom numeric and time/date axis labels.
  • Chart Titles – Charts can have a main title, a subhead and a footer. Axes can have horizontal and vertical titles.
  • Grid Options – Grid lines of any line style and color can highlight major and minor axis tick marks.
  • Export Chart Images – using the JPEG format.
  • Import jpeg Image objects – Use jpeg image objects as plot elements in a chart, or as a background object.
  • Legends for All Plot Types – Position horizontal and vertical legends anywhere in a chart. A chart can have an unlimited number of legends.
  • Mouse Support – A group of classes implementing mouse event delegates can locate, select and move chart objects like data plots, axes, titles, and legends.
Simple zooming – before picture Simple zooming – after picture
WPF Chart Zoom Before WPF Chart Zoom After
Super zooming – before picture Super zooming – after picture
  • Simple and Super Zooming – Zoom a simple xy axis pair, or simultaneous zoom an unlimited number of x- and y-axes.
MagniView chart MagniView chart
The MagniView cursor magnifies what is under it The MagniView class works with charts that overlay multiple coordinate systems
  • MagniView – Similar  to zooming, the mouse controls a “magnifying” rectangle as it passes over an existing chart. The area of the chart within the bounds of the magnifying rectangle is “magnified” and continuously redrawn in a separate window. The MagniView class works with charts that use a simple xy axis pair,  and charts that combine one or more coordinate systems.
  • Panning – Use the new MoveCoordinates class to pan data in the x- and y-dimension. Click and drag in the plot area and rescale the graph proportionally.
WPF Data Cursors and Markers
   Example of a data cursor and markers – click to enlarge


  • Data Cursors – XOR data cursors are used to position the mouse cursor over data points in a plot.
  • Data Markers – Drop special marker symbols on to the data presented in a graph, much like a bookmark in a word processing document.
WPF Chart Annotations
        Examples of a annotations – click to enlarge


  • Graph Annotations – Add an unlimited number single and multi-line text objects, arrows and geometric objects to a chart.
WPF Chart Data Tooltips WPF Custom Chart Data Tooltips
Standard tooltip Custom tooltip


  • Data ToolTips – Select a data point with the mouse and popup a tooltip window that displays the data x- and/or y-values for the data points. Programmers can create custom information displays for tooltip windows.
  • Data Compression – Large datasets can be compressed, increasing display speed without loss of detail.
  • Based on the Java Graphics2D API – Compatible with Java components and applications.
  • High Resolution Printing – Since the underlying 3D graphics kernel uses Java Graphics2D primitives (lines, polygons and text), printer output is recreated on the printer, through Java and the operating systems printing engine, at the printer resolution and does not pass through an intermediate bitmap that can drastically lower printer output resolution.
  • 100% Java Code – The software is entirely written in Java, resulting in better performance and scalability. Managed Java code makes applications easier to deploy and maintain.
  • Documentation and Demo/Example Programs – The software includes a comprehensive 400 page user manual with many programming examples, Javadoc help for every class and 75 complete demo programs.

QCChart2D Developer Licensing

  • Our license agreement can be found here.
  • The QCChart2D Developer License is available in a Developers Version (model # JAV-CHT-DEVR) that does not time out. Free updates for two years.
  • The QCChart2D Developer License is licensed to a single individual. It cannot be used by multiple people at the same company, unless a separate license is purchased for each person. Site licenses are also available. Contact sales@quinn-curtis.com with details of how many seats you wish to purchase and we will respond with a quote.
  • The QCChart2D software does not use a redistributable license.  The basic developer license permits you to include QCChart2D as part of your application and distribute an unlimited number  royalty free.

QCChart2D Redistributable Licensing

  • The QCChart2D Software does not use a redistributable license,  unlike the previous versions (1.5, 1.6) of the software. The basic developer license permits you to include QCChart2D as part of your application and distribute an unlimited number of copies of your application, royalty free. We do not allow developers to use this software to create a graphics toolkit (a library or any type of graphics component that will be used in combination with a program development environment) for resale to other developers.

Custom Programming Services

  • QCChart2D for Java is an extremely powerful and flexible software package. It contains over 1000 methods and properties in more than 100 classes. The user manual and  help file documentation are more than 1000 pages. This can be overwhelming to the average programmer who wants to start programming today and have the prototype of an application working in a week.
  • The variety of user interfaces for charting applications is as diverse as the industries using the software. The end-user of an application at a mutual fund expects to interact with the chart in a manner different than that of an end-user in health care. The same can be said for other industries: semiconductors, quality control, teaching, biotechnology, etc.
  • That is why we have written so many outstanding example programs, pulled from a wide variety of industries using many different styles of user interface.
  • We know that your application may be similar to, but still uniquely different from any of our example programs. To that end we offer our programming services to write for you a custom example program that demonstrates how to code the chart format and user interface you want. That jump start to your project can save you many weeks of work and make you look like a chart programming genius. All  you have to be able to do is describe in detail what you want the example to do.
  • Using QCChart2D for Java, expertise includes writing applications that can be run on workstations, and applets that can run in web browsers.  For more information or a quote, please contact our sales department at sales@quinn-curtis.com.

Doesn’t have the features you need ? Let us know what those are so we can add them in a subsequent release. Contact: info@quinn-curtis.com

Ordering Information

Click here to go to Download Ordering

Description Model # Price
QCChart2D Java Developer Software JAV-CHT-DEVR $175