On Mon, Sep 30, 2013 at 1:43 PM, KURT PETERS <petersk...@msn.com> wrote:

> I'm including the code below to demonstrate the problem.  The top should
> have simtimedata (0 through 28) labeling the points.  As you can see,
> MATPLOTLIB just distributes those values evenly instead of assigning them
> properly.
> Any ideas?
>
> #!/usr/bin/env python
> import numpy as np
> from matplotlib import rc
> import matplotlib.pyplot as plt
> import matplotlib.mlab as mlab
> import re
> from matplotlib.ticker import EngFormatter
> xdat=np.arange(1,11)
> simtimedata = np.array([0, 1, 5, 9, 13, 18, 21, 24, 25, 28])
> idatanp = np.array([-1,0, 1, 2, 3, 2, 1, 0, -1, -2])
> print idatanp.shape
> print simtimedata.shape
> print xdat.shape
> fig = plt.figure()
>
> ax1 = fig.add_subplot(211)
> ax1.plot(xdat,idatanp)
> ax2 = fig.add_subplot(212)
> #ax1.plot(x1, x1,'b--')
> ax3 = ax2.twiny()
> ax2.plot(xdat, idatanp.real,'k-o')
> ax3.plot(simtimedata, idatanp,'k--',alpha=0)
> ax2.set_title("time domain")
> ax2.grid(True)
> plt.show()
>
> >
> > I'm trying to find a glitch in an FPGA simulation. The data stored in a
> file is:
> > (simulation time, y)
> >
> > In reality, if I plot that I get large gaps because the simulation time
> continues and data is only output periodically. In other words simulation
> time is not continuous. I'd like to view the data without the gaps, but
> with simulation time annotating the x-axis so I can determine where the
> glitch occurs.
> > I've tried a variety of things:
> > #ax1.plot(x1, x1,'b--')
> > #ax3 = ax2.twiny()
> > ax2.set_xticklabels(simtimedata, fontdict=None, minor=False, rotation =
> 45)
> > ax2.plot( idatanp.real,'k--',idatanp.imag,'g.-')
> > #ax2.plot(xdat, idatanp.real,'k--',xdat,idatanp.imag,'g.-')
> > #ax3.plot(simtimedata, idatanp.real,'k--',alpha=0)
> >
> > but cannot get the axis to both show the data all together AND show
> where the glitch occurs. I thought the twiny might help to put another x
> axis up so I could plot the data first with the x axis incrementing based
> on when the data is read in, and then trying to place labels showing
> simulation time.
> >
> > Does anyone have any ideas how I could do this?
> > Kurt
>

Kurt,

You need to show ax3's xticklabels somewhere. Like this:
import numpy as np
from matplotlib import rc
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import re
from matplotlib.ticker import EngFormatter
xdat=np.arange(1,11)
simtimedata = np.array([0, 1, 5, 9, 13, 18, 21, 24, 25, 28])
idatanp = np.array([-1,0, 1, 2, 3, 2, 1, 0, -1, -2])


fig = plt.figure()
ax1 = fig.add_subplot(211)
ax1.plot(xdat,idatanp)

ax2 = fig.add_subplot(212)
ax3 = ax2.twiny()

ax2.plot(xdat, idatanp.real,'k-o')
ax3.plot(simtimedata, idatanp,'k--',alpha=0)

 # ---- show ax3's xticklabels
ax3.xaxis.tick_top()
ax2.set_title("time domain")
ax2.grid(True)
fig.tight_layout()
------------------------------------------------------------------------------
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

Reply via email to