GRAPHICS_EXAMPLES, C programs which illustrate how various kinds of data can be displayed and analyzed graphically.
Some common plot types include:
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
GRAPHICS_EXAMPLES programs are available in a C version and a C++ version and a dataset version and a FORTRAN90 version and a MATLAB version and an Octave version and a Python version.
GRAPHICS_EXAMPLES_CONVERT, examples which illustrate how various kinds of data can be processed and modified using the ImageMagick program convert() and its related tools.
GRAPHICS_EXAMPLES_DISLIN, examples which illustrate how various kinds of data can be displayed and analyzed graphically using the graphics library dislin.
GRAPHICS_EXAMPLES_GNUPLOT, examples which illustrate how various kinds of data can be displayed and analyzed graphically using the interactive executable graphics program gnuplot().
GRAPHICS_EXAMPLES_GRACE, examples which illustrate how various kinds of data can be displayed and analyzed graphically using the interactive executable graphics program grace().
GRAPHICS_EXAMPLES_PLOTLY1, examples which illustrate how various kinds of data can be displayed and analyzed graphically, using version 1 of the plotly() program from a browser.
ALBUM_BAR lists the year, and total number of music albums (LP's, cassettes, CD's and dowloads) sold each year from 2007 to 2017. This data is plotted as a bar graph. The gnuplot() program is used..
AUTOMOBILE_SCATTER contains prices and weights of cars available in 1985. A scatter plot is to be made. The gnuplot() program is used.
BROWNIAN_2D_PLOT plots data representing 1000 steps of Brownian motion in two dimensions. Unlike a typical y=f(x) plot, this data wanders around the page. The gnuplot() program is used.
BULGARIA_PLOT takes data about the Bulgarian population over time and makes a plot of (time,population). The gnuplot() program is used.
CAFFEINE_SCATTER seeks a relationship between the percentage of blindness due to cataracts, and the daily intake of caffeine, in a number of countries. A scatter plot is produced. The gnuplot() program is used.
CIRCLE_SCATTERS depicts 500 pairs of (X,Y) data points in the unit square, 395 of which lie inside the unit circle, and 105 outside. If possible, the "inside" points should be blue, the "outside" points red, and the circle itself should also be drawn. The dislin library is used.
CORKSCREW_PLOT3D generates (X,Y,Z) points that lie along a 3D curve looking something like a corkscrew. The gnuplot() program is used.
CORVETTE_SCATTER considers the resale price for Corvettes by model year, displaying the results as a scatter plot. The gnuplot() program is used.
DRUG_DOSAGE_PLOTS depicts measurements over 48 hours of the blood level concentration of a medicinal drug. The drug needs to reach a certain level to have an effect, but must not exceed the toxic level. A graphic is created which shows, on one plot, the concentration over time, the minimal effective level, and the maximum nonlethal leval. The gnuplot() program is used.
GEYSER_BAR works with measurements of the waiting time in minutes between successive eruptions of the Old Faithful geyser. The data has been grouped into bins. The bin counts are displayed as a bar chart. The dislin library is used.
GEYSER_HISTOGRAM contains the waiting time in minutes between successive eruptions of the Old Faithful geyser. The gnuplot() program is used.
GEYSER_SCATTER looks for relations between the duration in minutes of the eruption and following waiting times for the Old Faithful geyser. The gnuplot() program is used.
GRID_SURFACE records, on a 41x41 grid over [-2,2]x[-2,+2], the values z = exp(-(x^2+y^2)) * cos(0.25*x) * sin(y) * cos(2*(x^2+y^2)). The data is to be plotted as a surface. The dislin library is used.
INSECT_SCATTER3D involves 3 data sets, each containing 10 measurements of 3 quantities for each of 3 species of insect. The quantities are first tarsus width, second tarsus width, and maximum width of the aedeagus. It is of interest to know whether these three measurements are enough to differentiate between members of the three species. A 3D scatter plot is created. The gnuplot() program is used.
LEAST_SQUARES_PLOTS compares 15 pairs of (x,y) data, the least squares line that approximates their behavior, and a quadratic curve that is much closer to the data. The gnuplot() program is used.
LISSAJOUS_PLOT records 1000 points on a Lissajous curve defined by x=sin(3*t+pi/2), y=sin(4t). The curve is to be plotted and every tenth point marked. The dislin library is used.
LYNX_PLOT records the yearly lynx harvest from 1821 to 1934. The graph should plot the data points as circles, and connect consecutive data points with straight line segments to suggest a curve. The dislin library is used.
MARIO_FILL makes a simple image of Mario, by constructing a grid of squares filled with color. The gnuplot() program is used.
NILE_HISTOGRAM makes a histogram of the yearly measurement of the height of the Nile at maximum flood. By lumping the data into bins, it is easier to see the range of flood heights, and the probability of various values in the range. The gnuplot() program is used.
NILE_PLOT makes a line plot of the yearly measurement of the height of the Nile at maximum flood. The gnuplot() program is used.
NINETY_HISTOGRAM considers 90 numeric values. We create a histogram, to see how the data spreads out across its range. We spot outliers as histogram bins of low occupancy that are far from the rest of the data. The gnuplot() program is used.
ORBITAL_CONTOUR records, on a 101x101 grid over [0,4*pi]x[0,4*pi], the minimum distance between two planets given a pair of orbital angles. The data is presented as a color contour plot. The dislin library is used.
PREDATOR_PLOT3D models the populations of predators (foxes) and prey (rabbits) over time. A 3D plot of (time, rabbits, foxes) is created. The gnuplot() program is used.
PRESIDENT_HEIGHTS_BAR plots the heights of US presidents in inches, as a bar plot. The gnuplot() program is used.
PRESIDENT_HEIGHTS_HISTOGRAM plots the heights of US presidents in inches, as a histogram. By grouping the data by height, we lose the ability to identify specific cases, but we are better able to see the range of heights, and to judge the frequency of various heights. The gnuplot() program is used.
PRICE_PLOTS reads a table of average monthly prices for 11 consumer products, between February 2008 and February 2018, as compiled by the Bureau of Labor Statistics, and plots together the prices of three of the items. The gnuplot() program is used.
RANDOM_SCATTER generates 500 pairs of (X,Y) data, which lie in the unit square, and tend to cluster around (0.5,0.5). The dislin library is used.
SNOWFALL_HISTOGRAM makes a histogram of the yearly snowfall totals at Michigan Tech from 1890 to 2017. The gnuplot() program is used.
SNOWFALL_PLOT makes a line plot of the snowfall at Michigan Tech from 1890 to 2017. The gnuplot() program is used.
TEMPERATURE_SCATTER shows locations in the US where the January temperature was recorded. The gnuplot() program is used.
TEMPERATURE_SCATTER3D shows temperatures and locations in the US where the January temperature was recorded. The gnuplot() program is used.
TRACK_BAR considers an eye-tracking experiment in which the eye was focused on different regions for different durations. Each region has a text label. A bar graph is desired, in which the bar for each duration is given the appropriate label. The gnuplot() program is used.
You can go up one level to the C source codes.