Yes, I did. Same result as with cla(). Thanks, Charlie -----Original Message----- From: Sterling Smith [mailto:smit...@fusion.gat.com] Sent: Friday, October 10, 2014 11:30 AM To: Duke, Charles Cc: matplotlib-users@lists.sourceforge.net Subject: Re: [Matplotlib-users] twinx cla problem
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 > Matplotlib-users@lists.sourceforge.net > 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 Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users