Let's introduce several core objects in JFreechart:
Class name
The role of class and simple description
JFreechart
The chart object, the final expressive form of any type of chart is customized in this object. The JFreeChart engine itself provides a factory class for creating different types of chart objects.
XXXXDataSet
Data set objects for providing data used to display charts. According to different types of charts, there should be many types of data set object classes.
XXXXXPLOT
The chart area object, basically this object determines what style chart, you need AXIS, RENDERER, and data set object when creating this object.
XXXXXAXIS
Two axes for processing charts: longitudinal axis and horizontal axis
XXXXRENDERER
Respontience how to display a chart object
XXXXXURLGENERATOR
Mouse clicking on each item in a web chart
XXXXTooltipGenerator
Help prompt used to generate images, different types of charts correspond to different types of toolkeeping classes
Basically I think the design of the class structure of the JFreeChart project is not very good. First, use a large number of factory methods when creating charts, so although it can simplify the code of the chart object, but for the project itself or developers It is still a very troublesome thing to extend a new chart; secondly, in addition to chart object itself, the user must know which Axis, Plot, Renderer class, which must know each type of chart object. And you must be very familiar with the specific meaning of each parameter in these classes. These issues have greatly plagued many beginners. However, although there are many problems, JFreeChart itself is still a very good chart engine, and the project itself is gradually developing.