On Oct 1, 2013, at 8:59AM, KURT PETERS wrote: > > REPLY: > ============================================================ > > here's what SHOULD be happening > > | 0 1 5 9 13 18 21 24 25 28 > 3 | x > | x x > | x x > | x x > -1|_x__________________x_____ > 1 2 3 4 5 6 7 8 9 10 > > How can I make that happen? Instead, MPL is autoranging the top axis. I > don't want that I just want the actual labels to occur up there. > > Kurt
Kurt, Here is a self-contained example of what I think you are asking for: {{{ import matplotlib.pyplot as plt import numpy as np from matplotlib.ticker import FuncFormatter, MaxNLocator simtimedata = np.array([0, 1, 5, 9, 13, 18, 21, 24, 25, 28, 31, 32, 41, 55, 56, 57]) idatanp = np.array([-1,0, 1, 2, 3, 2, 1, 0, -1, -2, -3, -2, -1, 0, -1, -2]) xdat = range(len(simtimedata)) fig = plt.figure() ax1 = fig.add_subplot(211) ax1.plot(xdat,idatanp) ax1.grid(True) ax2 = fig.add_subplot(212) ax2.plot(xdat, idatanp.real,'k-o') def index_to_label(i,dummy): if i >= 0 and i < len(simtimedata): return str(simtimedata[i]) else: return '' form = FuncFormatter(index_to_label) ax2.xaxis.set_major_formatter(form) #ax2.set_title("time domain") ax2.grid(True) plt.show() }}} You may also be interested in this question and answer on stackoverflow: http://stackoverflow.com/questions/3918028/how-do-i-plot-multiple-x-or-y-axes-in-matplotlib -Sterling ------------------------------------------------------------------------------ October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users