Code Search for Developers
 
 
  

clippedline.py from matplotlib at Krugle


Show clippedline.py syntax highlighted

"""
Clip a line according to the current xlimits, and change the marker
style when zoomed in
"""

from matplotlib.lines import Line2D
import matplotlib.numerix as nx
from pylab import figure, show

class ClippedLine(Line2D):
    """
    Clip the xlimits to the axes view limits -- this example assumes x is sorted
    """

    def __init__(self, ax, *args, **kwargs):
        Line2D.__init__(self, *args, **kwargs)
        self.ax = ax


    def set_data(self, *args, **kwargs):
        Line2D.set_data(self, *args, **kwargs)
        self.xorig = nx.array(self._x)
        self.yorig = nx.array(self._y)

    def draw(self, renderer):
        xlim = self.ax.get_xlim()

        ind0, ind1 = nx.searchsorted(self.xorig, xlim)
        self._x = self.xorig[ind0:ind1]
        self._y = self.yorig[ind0:ind1]
        N = len(self._x)
        if N<1000:
            self._marker = 's'
            self._linestyle = '-'
        else:
            self._marker = None
            self._linestyle = '-'


        Line2D.draw(self, renderer)


fig = figure()
ax = fig.add_subplot(111, autoscale_on=False)

t = nx.arange(0.0, 100.0, 0.01)
s = nx.sin(2*nx.pi*t)
line = ClippedLine(ax, t, s, color='g', ls='-', lw=2)
ax.add_line(line)
ax.set_xlim(10,30)
ax.set_ylim(-1.1,1.1)
show()






See more files for this project here

matplotlib

Matplotlib is a pure python plotting library with the goal of making\r\npublication quality plots using a syntax familiar to matlab users. \r\nThe library uses Numeric for handling large\r\ndata sets and supports a variety of output backends

Project homepage: http://sourceforge.net/projects/matplotlib
Programming language(s): C,C++,Python
License: other

  data/
  units/
  widgets/
  README
  README.wx
  __init__.py
  accented_text.py
  agg_buffer_to_array.py
  agg_oo.py
  agg_resize.py
  agg_test.py
  alignment_test.py
  anim.py
  anim_tk.py
  animation_blit.py
  animation_blit_fltk.py
  animation_blit_qt.py
  animation_blit_qt4.py
  animation_blit_tk.py
  animation_blit_wx.py
  annotation_demo.py
  anscombe.py
  arctest.py
  arrow_demo.py
  axes_demo.py
  axes_props.py
  axhspan_demo.py
  axis_equal_demo.py
  backend_driver.py
  bar_stacked.py
  barchart_demo.py
  barcode_demo.py
  barh_demo.py
  boxplot_demo.py
  break.py
  broken_barh.py
  clippath_test.py
  clippedline.py
  collections_demo.py
  color_by_yvalue.py
  color_demo.py
  colorbar_only.py
  colours.py
  contour_demo.py
  contour_image.py
  contourf_demo.py
  coords_demo.py
  coords_report.py
  csd_demo.py
  cursor_demo.py
  custom_figure_class.py
  custom_ticker1.py
  customize_rc.py
  dannys_example.py
  dash_control.py
  dashpointlabel.py
  dashtick.py
  data_browser.py
  data_helper.py
  date_demo1.py
  date_demo2.py
  date_demo_convert.py
  date_demo_rrule.py
  date_index_formatter.py
  dynamic_collection.py
  dynamic_demo.py
  dynamic_demo_wx.py
  dynamic_image_gtkagg.py
  dynamic_image_wxagg.py
  dynamic_image_wxagg2.py
  ellipse_demo.py
  ellipse_rotated.py
  embedding_in_gtk.py
  embedding_in_gtk2.py
  embedding_in_gtk3.py
  embedding_in_qt.py
  embedding_in_qt4.py
  embedding_in_tk.py
  embedding_in_tk2.py
  embedding_in_wx.py
  embedding_in_wx2.py
  embedding_in_wx3.py
  embedding_in_wx4.py
  errorbar_demo.py
  errorbar_limits.py
  figimage_demo.py
  figlegend_demo.py
  figtext.py
  fill_between.py
  fill_between_posneg.py
  fill_demo.py
  fill_demo2.py
  fill_spiral.py
  finance_demo.py
  font_indexing.py
  font_table_ttf.py
  fonts_demo.py
  fonts_demo_kw.py
  ftface_props.py
  ganged_plots.py
  gdtest.py