Modify tick label text

Caveat: Unless the ticklabels are already set to a string (as is usually the case in e.g. a boxplot), this will not work with any version of matplotlib newer than 1.1.0. If you’re working from the current github master, this won’t work. I’m not sure what the problem is yet… It may be an unintended … Read more

Is there a way to detach matplotlib plots so that the computation can continue?

Use matplotlib‘s calls that won’t block: Using draw(): from matplotlib.pyplot import plot, draw, show plot([1,2,3]) draw() print(‘continue computation’) # at the end call show to ensure window won’t close. show() Using interactive mode: from matplotlib.pyplot import plot, ion, show ion() # enables interactive mode plot([1,2,3]) # result shows immediatelly (implicit draw()) print(‘continue computation’) # at … Read more

Display image as grayscale using matplotlib

The following code will load an image from a file image.png and will display it as grayscale. import numpy as np import matplotlib.pyplot as plt from PIL import Image fname=”image.png” image = Image.open(fname).convert(“L”) arr = np.asarray(image) plt.imshow(arr, cmap=’gray’, vmin=0, vmax=255) plt.show() If you want to display the inverse grayscale, switch the cmap to cmap=’gray_r’.

How to have one colorbar for all subplots

Just place the colorbar in its own axis and use subplots_adjust to make room for it. As a quick example: import numpy as np import matplotlib.pyplot as plt fig, axes = plt.subplots(nrows=2, ncols=2) for ax in axes.flat: im = ax.imshow(np.random.random((10,10)), vmin=0, vmax=1) fig.subplots_adjust(right=0.8) cbar_ax = fig.add_axes([0.85, 0.15, 0.05, 0.7]) fig.colorbar(im, cax=cbar_ax) plt.show() Note that the … Read more

Plot correlation matrix using pandas

You can use pyplot.matshow() from matplotlib: import matplotlib.pyplot as plt plt.matshow(dataframe.corr()) plt.show() Edit: In the comments was a request for how to change the axis tick labels. Here’s a deluxe version that is drawn on a bigger figure size, has axis labels to match the dataframe, and a colorbar legend to interpret the color scale. … Read more

Named colors in matplotlib

I constantly forget the names of the colors I want to use and keep coming back to this question =) The previous answers are great, but I find it a bit difficult to get an overview of the available colors from the posted image. I prefer the colors to be grouped with similar colors, so … Read more

How do I plot in real-time in a while loop using matplotlib?

Here’s the working version of the code in question (requires at least version Matplotlib 1.1.0 from 2011-11-14): import numpy as np import matplotlib.pyplot as plt plt.axis([0, 10, 0, 1]) for i in range(10): y = np.random.random() plt.scatter(i, y) plt.pause(0.05) plt.show() Note the call to plt.pause(0.05), which both draws the new data and runs the GUI’s … Read more