This shows you the differences between two versions of the page.
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 ==== |