ggplot2 is a declarative plotting system for R language based on Wilkinson's theory of "The Grammar of Graphics". Users only need to provide data, define the mapping between variables and graphic attributes, and select graphic geometric objects (such as scatter plots, bar charts, box plots, etc.), and ggplot2 can automatically complete the rendering and detail processing of the graphics. ggplot2 adopts the design concept of layer superposition, and users can gradually build complex graphics by adding layers, adjusting scales, and setting facets. As a core member of the tidyverse ecosystem, ggplot2 has a rich extension package ecosystem and is the cornerstone of data visualization in the R language.