-
-
Notifications
You must be signed in to change notification settings - Fork 8.2k
Closed
Description
I am trying to plot plot a function over a 2D domain using contourf. Unfortunately, my first attempt did not work out very well. There was a region in the plot that was unexpectedly not covered by any contours. For debugging purposes, I have reduced the problem to the smallest dataset that I could find that also reveals the issue with missing filled contours:
import matplotlib.pyplot as plt
import numpy as np
v = np.array([0, 1, 2, 3])
x, y = np.meshgrid(v, v)
z = np.array([[5.5e-14, 5.5e-14, 5.5e-14, 5.5e-14],
[2e-13, 2e-13, 2e-13, 2e-13],
[2.2e-13, 2.2e-13, 2.2e-13, 2.2e-13],
[0, 0,0, 0]])
fig, ax = plt.subplots()
cntr = ax.contourf(x, y, z)
fig.colorbar(cntr, ax=ax)
plt.show()
as you can see there are missing contours from y = 1.5 to approximately y = 2.0.
Another strange thing I observed: If I normalize the z matrix by multiplying by e.g. 1e14 before plotting it works fine.
Matplotlib version
- Operating system: Ubuntu 18.04
- Matplotlib version: 2.2.2 (Installed with
pip) - Matplotlib backend: TkAgg
- Python version: 3.6.1
Note: This question was first asked on stackoverflow.com: Missing filled contours when using contourf
