Matplotlib Contour Plots
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Fri Aug 15 09:23:25 EDT 2014
Jamie Mitchell wrote:
[...]
> I just want to get a contour plot of two numpy arrays.
> When I call plt.contour on my data I get "input must be a 2D array"
You are providing a 1D array, or possibly a 3D array. So the question you
really want to ask is not "How do I do contour plots" but "how do I make a
2D array?"
> An example of one of my arrays:
>
> array([ 2.08800006, 2.29400015, 2.00400019, 1.88000011, 2.0480001 ,
> 2.16800022, 2.0480001 , 1.88200009, 1.95800006, 2.00200009,
> 2.02800012, 1.81200004, 1.95000005, 1.96200013, 1.95200014,
> 1.99800014, 2.07000017, 1.88200009, 1.98400009, 2.13400006,
> 2.11400008, 1.89400005, 2.05000019, 2.01999998, 2.03400016,
> 2.16600013, 2.00999999, 1.86200011, 2.19800019, 2.01200008],
> dtype=float32)
>
> How do I get the above array in to the right format for a contour plot?
Here's an example of making a 2D array:
py> import numpy
py> a = numpy.array([1.2, 2.5, 3.7, 4.8]) # One dimensional array
py> a
array([ 1.2, 2.5, 3.7, 4.8])
py> b = numpy.array([ [1.2, 2.5, 3.7, 4.8],
... [9.5, 8.1, 7.0, 6.2] ]) # Two dimensional array
py> b
array([[ 1.2, 2.5, 3.7, 4.8],
[ 9.5, 8.1, 7. , 6.2]])
One dimensional arrays are made from a single list of numbers: [...]
Two dimensional arrays are made from a list of lists: [ [...], [...] ]
--
Steven
More information about the Python-list
mailing list