Fixed database typo and removed unnecessary class identifier.
This commit is contained in:
		
							parent
							
								
									00ad49a143
								
							
						
					
					
						commit
						45fb349a7d
					
				
					 5098 changed files with 952558 additions and 85 deletions
				
			
		|  | @ -0,0 +1,99 @@ | |||
| """EpochConverter module containing class EpochConverter.""" | ||||
| 
 | ||||
| from matplotlib import cbook | ||||
| import matplotlib.units as units | ||||
| import matplotlib.dates as date_ticker | ||||
| 
 | ||||
| __all__ = ['EpochConverter'] | ||||
| 
 | ||||
| 
 | ||||
| class EpochConverter(units.ConversionInterface): | ||||
|     """ | ||||
|     Provides Matplotlib conversion functionality for Monte Epoch and Duration | ||||
|     classes. | ||||
|     """ | ||||
| 
 | ||||
|     # julian date reference for "Jan 1, 0001" minus 1 day because | ||||
|     # Matplotlib really wants "Jan 0, 0001" | ||||
|     jdRef = 1721425.5 - 1 | ||||
| 
 | ||||
|     @staticmethod | ||||
|     def axisinfo(unit, axis): | ||||
|         # docstring inherited | ||||
|         majloc = date_ticker.AutoDateLocator() | ||||
|         majfmt = date_ticker.AutoDateFormatter(majloc) | ||||
|         return units.AxisInfo(majloc=majloc, majfmt=majfmt, label=unit) | ||||
| 
 | ||||
|     @staticmethod | ||||
|     def float2epoch(value, unit): | ||||
|         """ | ||||
|         Convert a Matplotlib floating-point date into an Epoch of the specified | ||||
|         units. | ||||
| 
 | ||||
|         = INPUT VARIABLES | ||||
|         - value     The Matplotlib floating-point date. | ||||
|         - unit      The unit system to use for the Epoch. | ||||
| 
 | ||||
|         = RETURN VALUE | ||||
|         - Returns the value converted to an Epoch in the specified time system. | ||||
|         """ | ||||
|         # Delay-load due to circular dependencies. | ||||
|         import matplotlib.testing.jpl_units as U | ||||
| 
 | ||||
|         secPastRef = value * 86400.0 * U.UnitDbl(1.0, 'sec') | ||||
|         return U.Epoch(unit, secPastRef, EpochConverter.jdRef) | ||||
| 
 | ||||
|     @staticmethod | ||||
|     def epoch2float(value, unit): | ||||
|         """ | ||||
|         Convert an Epoch value to a float suitable for plotting as a python | ||||
|         datetime object. | ||||
| 
 | ||||
|         = INPUT VARIABLES | ||||
|         - value    An Epoch or list of Epochs that need to be converted. | ||||
|         - unit     The units to use for an axis with Epoch data. | ||||
| 
 | ||||
|         = RETURN VALUE | ||||
|         - Returns the value parameter converted to floats. | ||||
|         """ | ||||
|         return value.julianDate(unit) - EpochConverter.jdRef | ||||
| 
 | ||||
|     @staticmethod | ||||
|     def duration2float(value): | ||||
|         """ | ||||
|         Convert a Duration value to a float suitable for plotting as a python | ||||
|         datetime object. | ||||
| 
 | ||||
|         = INPUT VARIABLES | ||||
|         - value    A Duration or list of Durations that need to be converted. | ||||
| 
 | ||||
|         = RETURN VALUE | ||||
|         - Returns the value parameter converted to floats. | ||||
|         """ | ||||
|         return value.seconds() / 86400.0 | ||||
| 
 | ||||
|     @staticmethod | ||||
|     def convert(value, unit, axis): | ||||
|         # docstring inherited | ||||
| 
 | ||||
|         # Delay-load due to circular dependencies. | ||||
|         import matplotlib.testing.jpl_units as U | ||||
| 
 | ||||
|         if not cbook.is_scalar_or_string(value): | ||||
|             return [EpochConverter.convert(x, unit, axis) for x in value] | ||||
|         if units.ConversionInterface.is_numlike(value): | ||||
|             return value | ||||
|         if unit is None: | ||||
|             unit = EpochConverter.default_units(value, axis) | ||||
|         if isinstance(value, U.Duration): | ||||
|             return EpochConverter.duration2float(value) | ||||
|         else: | ||||
|             return EpochConverter.epoch2float(value, unit) | ||||
| 
 | ||||
|     @staticmethod | ||||
|     def default_units(value, axis): | ||||
|         # docstring inherited | ||||
|         if cbook.is_scalar_or_string(value): | ||||
|             return value.frame() | ||||
|         else: | ||||
|             return EpochConverter.default_units(value[0], axis) | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue