# obspy.imaging.waveform.WaveformPlotting

class `WaveformPlotting`(**kwargs)

  Bases: `builtins.object`

  Class that provides several solutions for plotting large and small waveform data sets.

  Warning

  This class should NOT be used directly, instead use the `plot()` method of the ObsPy `Stream` or `Trace` objects.

  It uses matplotlib to plot the waveforms.

  Attributes

  `__dict__` |
  `__doc__` | str(object=’‘) -> str
  `__module__` | str(object=’‘) -> str
  `__weakref__` | list of weak references to the object (if defined)

  Public Methods

  `plot` | Plot the Traces showing one graph per Trace.
  `plot_day` | Extend the seismogram.
  `plot_section` | Plots multiple waveforms as a record section on a single plot.
  `plot_waveform` | Creates a graph of any given ObsPy Stream object. It either saves the

  Private Methods

  Warning

  Private methods are mainly for internal/developer use and their API might change without notice.

  `_WaveformPlotting__dayplot_get_min_max_values` | Takes a Stream object and calculates the min and max values for each
  `_WaveformPlotting__dayplot_normalize_values` | Normalizes all values in the 3 dimensional array, so that the minimum value will be 0 and the maximum value will be 1.
  `_WaveformPlotting__dayplot_set_x_ticks` | Sets the xticks for the dayplot.
  `_WaveformPlotting__dayplot_set_y_ticks` | Sets the yticks for the dayplot.
  `_WaveformPlotting__get_mergable_ids` |
  `_WaveformPlotting__get_merge_id` |
  `_WaveformPlotting__plot_min_max` | Plots the data using a min/max approach that calculated the minimum and maximum values of each “pixel” and then plots only these values.
  `_WaveformPlotting__plot_set_x_ticks` | Goes through all axes in pyplot and sets time ticks on the x axis.
  `_WaveformPlotting__plot_set_y_ticks` |
  `_WaveformPlotting__plot_straight` | Just plots the data samples in the self.stream.
  `_WaveformPlotting__sect_fraction_to_offset` | Helper function to return fractions from offsets
  `_WaveformPlotting__sect_init_color` | Define the color of each trace
  `_WaveformPlotting__sect_init_plot` | Function initialises plot all the illustration is done by
  `_WaveformPlotting__sect_init_time` | Define the time vector for each trace
  `_WaveformPlotting__sect_init_traces` | Arrange the trace data used for plotting.
  `_WaveformPlotting__sect_normalize_traces` | This helper function normalizes the traces
  `_WaveformPlotting__sect_scale_traces` | The traces have to be scaled to fit between 0-1., each trace gets distance-range/num_traces space.
  `_WaveformPlotting__setup_figure` | The design and look of the whole plot to be produced.
  `_add_zoomlevel_warning_text` |
  `_draw_overlap_axvspan_legend` |
  `_draw_overlap_axvspans` |
  `_plot_dayplot_scale` | Plots the dayplot scale if requested.
  `_plot_event` | Helper function to plot an event into the dayplot.
  `_remove_zoomlevel_warning_text` |
  `_time_to_xvalue` |
  `_warn_on_xaxis_zoom` | Method to be used as a callback on method=fast, “minmax”-type plots

  Special Methods

  `__del__` | Destructor closes the figure instance if it has been created by the
  `__dir__` | default dir() implementation
  `__format__` | default object formatter
  `__init__` | Checks some variables and maps the kwargs to class variables.
  `__new__` | Create and return a new object.
  `__reduce__` | helper for pickle
  `__reduce_ex__` | helper for pickle
  `__sizeof__` | size of object in memory, in bytes
  `__subclasshook__` | Abstract classes can override this to customize issubclass().

### Thank you!

We would like to thank our contributors, whose efforts make this software what it is. These people have helped by writing code and documentation, and by testing. They have created and maintained this product, its associated libraries and applications, our build tools and our web sites.

#### Contributors

- Ackerley, Nick
- Allgeyer, Sebastien
- Ammon, Charles J.
- Antunes, Emanuel
- Arnarsson, Ólafur St.
- Bank, Markus
- Barsch, Robert
- Behr, Yannik
- Bernardi, Fabrizio
- Bernauer, Felix
- Bes de Berc, Maxime
- Beyreuther, Moritz
- Boltz, Shawn
- Bonaimé, Sébastien
- Carothers, Lloyd
- Chamberlain, Calum
- Chambers, Derrick
- Chen, Zhao
- Clark, Adam
- Danecek, Peter
- Egdorf, Sven
- Engels, Fabian
- Ermert, Laura
- Eulenfeld, Tom

- Fabbri, Tommaso
- Falco, Nicholas
- Fee, Jeremy
- Grellier, Clément
- Grunberg, Marc
- Hammer, Conny
- Heimann, Sebastian
- Heiniger, Lukas
- Hope, Gaute
- Igel, Heiner
- Inza, Adolfo
- Isken, Marius
- Ketchum, David
- Koymans, Mathijs
- Kremers, Simon
- Kress, Victor
- Krieger, Lars
- Krischer, Lion
- Kula, Damian
- Käufl, Paul
- Köhler, Andreas
- Lecocq, Thomas
- Leeman, John
- Legovini, Paride

- Lesage, Philippe
- Li, Yulin
- Lomax, Anthony
- Lopes, Rui L.
- MacCarthy, Jonathan
- Maggi, Alessia
- Martin, Henri
- Medlin, Andrew
- Megies, Tobias
- Meschede, Matthias
- Michelini, Alberto
- Miller, Nathaniel C.
- Morgenstern, Bernhard
- Nof, Ran Novitsky
- Panning, Mark P.
- Parker, Tom
- Pestourie, Romain
- Rapagnani, Giovanni
- Reyes, Celso
- Ringler, Adam
- Rothenhäusler, Nicolas
- Russo, Emiliano
- Sales de Andrade, Elliott

- Satriano, Claudio
- Saul, Joachim
- Scheingraber, Chris
- Schneider, Simon
- Sippl, Christian
- Snoke, Arthur
- Stange, Stefan
- Stähler, Simon C.
- Sullivan, Benjamin
- Tian, Dongdong
- Trabant, Chad
- Trani, Luca
- Uieda, Leonardo
- Walker, Andrew
- Walther, Marcus
- Wassermann, Joachim
- Williams, Mark C.
- Winkelman, Andrew
- Zaccarelli, Riccardo
- Zad, Seyed Kasra Hosseini
- Zhu, Lijun
- van Driel, Martin
- van Wijk, Kasper

#### Funds

ObsPy was partially funded by the

- German Science Foundation (DFG) via grant DFG IG 16/9-1
- German Ministry for Education and Research (BMBF), GEOTECHNOLOGIEN grant 03G0646H.
- NERA project (Network of European Research Infrastructures for Earthquake Risk Assessment and Mitigation) under the European Community's Seventh Framework Programme (FP7/2007-2013) grant agreement n° 262330
- Leibniz Institute for Applied Geophysics (LIAG)
- VERCE EU-FP7 project (no. 283543)