]> gitweb.michael.orlitzky.com - sage.d.git/commitdiff
Try replacing _plot() instead of plot() so that plotting python functions works.
authorMichael Orlitzky <michael@orlitzky.com>
Sat, 12 May 2012 23:03:05 +0000 (19:03 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Sat, 12 May 2012 23:03:05 +0000 (19:03 -0400)
mjo/plot.py

index b301e307aa30514d8865ba9ac7423c5b7170a8fa..87fccb335103e57dc2d98704c31296cc0aa116aa 100644 (file)
@@ -16,9 +16,9 @@ from sage.all import *
 show_opts = sage.plot.graphics.Graphics.SHOW_OPTIONS
 show_opts['tick_formatter'] = 'latex'
 
-# Save the default plot() function so that we can call it within
-# mjo_plot and not die of recursion.
-sage_plot = plot
+# Save the original implementation so that we can call it from
+# within mjo_plot.
+plot_impl = sage.plot.plot._plot
 
 def mjo_plot(*args, **kwargs):
     """
@@ -36,13 +36,11 @@ def mjo_plot(*args, **kwargs):
     p.set_legend_options(**default_legend_opts)
 
     # After trac #12936, this should propagate those options.
-    p += sage_plot(*args, **kwargs)
-
+    p += plot_impl(*args, **kwargs)
     return p
 
 
-# Replace both the global `plot` and the ones in the modules. I am
-# unclear about why this is necessary, and don't care too much.
-plot = mjo_plot
-sage.plot.plot.plot = mjo_plot
-sage.plot.all.plot = mjo_plot
+# This way, we don't have to try to replace all of the calls to
+# plot(); we just replace the one function that did the actual
+# implementation.
+sage.plot.plot._plot = mjo_plot