generated from mwc/lab_scatter
	
		
			
				
	
	
		
			27 lines
		
	
	
		
			977 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			977 B
		
	
	
	
		
			Python
		
	
	
	
	
	
# ticks.py
 | 
						|
# ------------
 | 
						|
# By MWC Contributors
 | 
						|
# The functions in this module calculate suitable placements 
 | 
						|
# for ticks on a plot axis which will display values. 
 | 
						|
# These functions are all complete; you don't need to edit this file.
 | 
						|
 | 
						|
from math import floor, ceil, log
 | 
						|
from transform import bounds
 | 
						|
 | 
						|
def get_tick_values(low, high):
 | 
						|
    """Returns a list of values to use for ticks (labeled points along an axis). 
 | 
						|
    Includes the lowest value, a bunch of "nice" intermediate values, and the highest value.
 | 
						|
    """
 | 
						|
    tick_interval = get_tick_interval(high - low)
 | 
						|
    first_tick = ceil(low / tick_interval) * tick_interval
 | 
						|
    return [low] + list(range(first_tick, high, tick_interval)) + [high]
 | 
						|
 | 
						|
def get_tick_interval(span):
 | 
						|
    """Returns a 'nice' interval for ticks across span.
 | 
						|
    The interval is a power of ten (e.g. 1000, 100, 0.1)
 | 
						|
    scaled so that there will be between 0 and 10 internal ticks.
 | 
						|
    """
 | 
						|
    log_span = log(span, 10)
 | 
						|
    return 10 ** floor(log_span)
 | 
						|
 |