This is not tested, but did you try ax2.clear() instead?
-Sterling
On Oct 10, 2014, at 7:45AM, Duke, Charles wrote:
> With matplotlib 1.4.0 the cla() method for the twinx axes also clears the
> primary axes. With matplotlib 1.3.1 the method only clears the twinx axes as
> expected. I have a much longer program where the twinx axes must be cleared
> while retaining the primary axis plot. I would prefer not to replot the
> entire graph each time the twinx axes change. You can see this by adding the
> cla method to the matplotlib web site example, two_scales.py, shown below.
>
> I have matplotlib installed via the anaconda package. Matplotlib 1.4.0 is
> from anaconda 2.1.0. Matplotlib 1.3.1 is from 1.9 versions of the anaconda
> package.
>
> Linux version:
> Linux gamow 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64 GNU/Linux
> Same cla() result on osX 10.9.4.
>
> Same result for backends Qt4Agg and TkAgg; the cla() method cleared both
> axes.
> I also tried various other options such as setting ax2.hold(False) prior to
> replotting ax2. However, once again ax1 was cleared. The ax2 clear
> commands seem to apply to the ax1 axis as well??? These options worked as
> expected for the earlier matplotlib version, clearing only the ax2 axis.
>
> Here’s the code: if you execute the code, you should see a blank figure with
> the cla() included and the usual two graphs without the cla() method.
>
> --------------------------------------------------------------------
> import numpy as np
> import matplotlib.pyplot as plt
>
> fig, ax1 = plt.subplots()
> t = np.arange(0.01, 10.0, 0.01)
> s1 = np.exp(t)
> ax1.plot(t, s1, 'b-')
> ax1.set_xlabel('time (s)')
> # Make the y-axis label and tick labels match the line color.
> ax1.set_ylabel('exp', color='b')
> for tl in ax1.get_yticklabels():
> tl.set_color('b')
>
> ax2 = ax1.twinx()
> s2 = np.sin(2*np.pi*t)
> ax2.plot(t, s2, 'r.')
> ax2.set_ylabel('sin', color='r')
> for tl in ax2.get_yticklabels():
> tl.set_color('r')
>
> # single line addition to the two_scales.py example
> # clears both ax2 and ax1 under matplotlib 1.4.0, clears only ax2 under
> matplotlib 1.3.1
> # obviously, same result with ax2.clear() method
> ax2.cla()
>
> plt.show()
>
>
> I would appreciate any help; this looks like a bug in the latest version of
> matplotlib.
> I could not find any reference to this problem in earlier posts.
>
> Thanks,
> Charlie
>
> ------------------------------------------------------------------------------
> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk_______________________________________________
> Matplotlib-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://p.sf.net/sfu/Zoho
_______________________________________________
Matplotlib-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-users