Hi, I reattached your example in a slightly modified way. For me with current svn it does its job. The key points are that I introduced a twin-axes and used subplots_adjust(wspace=0.6) to extend the horizontal space between the subplots.
Does this help you? Kind regards Matthias On Sunday 29 November 2009 04:17:39 Peter Williams wrote: > Hi All, > I'm trying to create a set of strip charts so that I can see the > relationships between a large number of time series. I'd like to label the > y-axis with a name on the left side and a value/percentile on the right > hand side. I can get the names on the left axis, and it looks very nice > (yay Matplotlib!). When I try to the code below I don't get the output I'd > like. None of the explicit tick labels that I'm setting make it to the > display, and also the 3 charts on the page aren't kept separate (left tick > labels from chart 132 hit the right tick labels from chart 131). Any > suggestions very appreciated. > > import numpy as np > import matplotlib.pyplot as plt > > nameN = 25 > obsN = 50 > > names = ["foo%d" % x for x in range(nameN)] > vols = np.random.uniform(0.2, 0.45, nameN) > > > labels = ['ValA', 'ValB', 'ValC'] > d1 = np.random.normal(0,1, obsN*nameN).reshape(obsN, -1)*vols > d2 = np.random.normal(0,1, obsN*nameN).reshape(obsN, -1)*vols > d3 = np.random.normal(0,1, obsN*nameN).reshape(obsN, -1)*vols > > > f = 0.45 > fig = plt.figure() > for label, dset, ax_id in zip(labels, (d1, d2, d3), (131, 132, 133)): > > ax = fig.add_subplot(ax_id) > > for i in range(len(names)): > > mx = np.max(dset[:,i]) > mn = np.min(dset[:,i]) > y = i + dset[:,i]*2*f/(mx - mn) - f*(mx + mn)/(mx - mn) + 1 > y_last = y[-1]*np.ones_like(y) > x = np.arange(obsN) > ax.fill_between(x, y_last, y) > > ax.set_ylim((0, nameN + 1)) > ax.set_yticks(range(1, nameN + 1)) > ax.set_title(label, fontsize=10) > > for tk, nm in zip(ax.yaxis.get_major_ticks(), list(reversed(names))): > tk.tick1On = False > tk.tick2On = False > tk.label1On = True > tk.label2On = True > tk.set_label1(nm) > tk.set_label2("%.1f\n(%.1f tile)" % (36.2, 98.6)) > > #ytickNames = ax.set_yticklabels(list(reversed(names)), rotation = 45, > fontsize = 8) > > > plt.show()
question_about_explicit_tick_labels.py
Description: application/python
------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users