We’ve seen how to plot lists of data with ListPlot and ListLinePlot. If you want to plot several sets of data at the same time, you just have to give them in a list.

ListLinePlot[{{1,3,4,3,1,2},{2,2,4,5,7,6,8}}]

ListLinePlot[{{1,3,4,3,1,2},{2,2,4,5,7,6,8}},PlotStyle->{Red,Dotted}]

ListLinePlot[{{1,3,4,3,1,2},{2,2,4,5,7,6,8}},Mesh->All,MeshStyle->Red]

As well as looking at the sequence of values in a list, it’s also very common to want to see how often different values occur. You can do this with Histogram.

StringLength[Take[WordList[ ],30]]

Histogram[StringLength[Take[WordList[ ],200]]]

Histogram[StringLength[WordList[ ]]]

Sometimes you’ll have data you want to visualize in 3D. For example, GeoElevationData can give an array of height values. ListPlot3D makes a 3D plot.

ListPlot3D[GeoElevationData[GeoDisk[ LinguisticAssistant  ,LinguisticAssistant]]]

ListPlot3D[GeoElevationData[GeoDisk[ LinguisticAssistant  ,LinguisticAssistant]],MeshStyle->None]

An alternative visualization is a contour plot, in which one’s effectively looking from above, and drawing contour lines at evenly spaced heights.

ListContourPlot[GeoElevationData[GeoDisk[ LinguisticAssistant  ,LinguisticAssistant]]]

When one’s dealing with large amounts of data, it’s often better to use a simpler visualization, such as a relief plot, that essentially just colors according to height.

ReliefPlot[GeoElevationData[GeoDisk[ LinguisticAssistant  ,LinguisticAssistant]]]

Make a plot with lines joining the squares, the cubes and the 4th powers of integers up to 10. »

Make a plot of the first 20 primes, joined by a line, filled to the axis and with a red dot at each prime. »

Make a 3D plot of the topography for 20 miles around Mount Fuji. »

Make a relief plot of the topography for 100 miles around Mount Fuji. »

Make a 3D plot of heights generated from Mod[i,j] with i and j going up to 100. »

Make a histogram of the differences between successive primes for the first 10000 primes. »

Make a histogram of the first digits of squares of integers up to 10000 (illustrating Benford’s law). »

Make a histogram of the length of Roman numerals up to 1000. »

Make a histogram of sentence lengths in the Wikipedia article on computers. »

Make a list of histograms of 10000 instances of totals of n random reals up to 100, with n going from 1 to 5 (illustrating the central limit theorem). »

Generate a 3D list plot using the image data from a binarized size-200 letter “W” as heights. »

Make a histogram of word lengths in the Wikipedia article on computers. »

What other kinds of visualizations are there?

Lots. Like ListStepPlot and ListStreamPlot, or BubbleChart and BarChart3D, or SmoothHistogram and BoxWhiskerChart, or AngularGauge and VerticalGauge.

How do I combine plots I’ve generated separately?

Use Show to combine them on common axes. Use GraphicsGrid, etc. (see Section 37) to put them side by side.

How can I specify the bins to use in a histogram?

Histogram[list,n] uses n bins. Histogram[list,{xmin,xmax,dx}] uses bins from xmin to xmax in steps dx.

What’s the difference between a bar chart and a histogram?

A bar chart is a direct representation of data; a histogram represents the frequency with which data occurs. In a bar chart, the height of each bar gives the value of a single piece of data. In a histogram, the height of each bar gives the total number of pieces of data that occur within the x range of the bar.

How can I draw contour lines on a 3D topography plot?

Use MeshFunctions->(#3&). The (#3&) is a pure function (see Section 26) that uses the third (z) coordinate to make a mesh.

How do I label heights in a contour plot?

Use ContourLabels->All.

Tech Notes