User Tools

Site Tools


other:python:matplotlib_by_jyp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
other:python:matplotlib_by_jyp [2020/03/31 10:49]
jypeter [Misc Matplotlib tricks] Improved
other:python:matplotlib_by_jyp [2020/03/31 14:20]
jypeter Added offline plot
Line 186: Line 186:
  
 ===== Misc Matplotlib tricks ===== ===== Misc Matplotlib tricks =====
 +
 +==== Creating a plot offline ====
 +
 +You may need to create a plot offline when your network connection is not good enough, you don't have an X server running to display the plot (possibly because the script is running on a cluster), etc... This is easily done with the following code:
 +
 +<​code>#​ offline_plot = False
 +offline_plot = True
 +
 +import matplotlib as mpl
 +if offline_plot:​
 +    # Define the graphic back-end BEFORE importing pyplot
 +    mpl.use('​Agg'​)
 +    ​
 +# Import the rest of the matplotlib based modules
 +import matplotlib.pyplot as plt
 +
 +[ ...your actual code... ] 
 +
 +# Done at last! Save the result
 +my_page.savefig(out_name,​ dpi=300, transparent=True,​ bbox_inches='​tight'​)
 +
 +if not offline_plot:​
 +    # Enter the interactive mode to display the plot
 +    plt.show()</​code>​
 +
 +Note: see also [[https://​matplotlib.org/​gallery/​user_interfaces/​canvasagg.html|CanvasAgg demo]] for a pure offline plot, and [[https://​matplotlib.org/​faq/​howto_faq.html?​highlight=web#​howto-webapp|How to use Matplotlib in a web application server]]. But the code above is much easier!
  
 ==== Specifying the background color of a plot ==== ==== Specifying the background color of a plot ====
other/python/matplotlib_by_jyp.txt · Last modified: 2023/10/26 08:39 by jypeter