# Matplotlib: contourlevels as strings in colorbar

I am plotting some 2D data with Matplotlib once like `pcolor()`

, then overlaying that on `contour()`

. When I use `colorbar()`

, I get either one or the other of the following columns:

or ` pcolor () `

How do I make the horizontal lines for outline levels (left) also appear on the color bar (right)?

+3

source to share

Based on your revised question, I understand what you mean. This can be done using `add_lines`

. This function adds lines from a blank path to the color bar. The documentation can be found here .

So, first defining a color bar based on the graph `pcolor`

, you can add lines from `contour`

to that color line:

``````import numpy
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab

#Generate data
delta = 0.025

x = numpy.arange(-3.0, 3.0, delta)
y = numpy.arange(-2.0, 2.0, delta)

X, Y = numpy.meshgrid(x, y)

Z1 = mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)
Z2 = mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1)
# difference of Gaussians
Z = 10.0 * (Z2 - Z1)

#Plot
fig = plt.figure()

PC = ax1.pcolor(X, Y, Z)
CF = ax1.contour(X, Y, Z, 50, colors = "black")

cbar = plt.colorbar(PC)

plt.show()
```

``` +4

source

All Articles