Return an horizontal bar chart 

	>>> print bar_chart({
	...     'one': '1',
	...     'two': '2',
	...     'three': '3',
	...     'four': '4',
	...     'five': '5',
	... })
	 five =====
	 four ====
	  one =
	three ===
	  two ==
	>>> print bar_chart({
	...     '1/1': 1/1.0,
	...     '1/2': 1/2.0,
	...     '1/3': 1/3.0,
	...     '1/4': 1/4.0,
	...     '1/5': 1/5.0,
	...     '2': 2,
	...     '3': 3,
	...     '4': 4,
	...     '5': 5,
	... })
	1/1 ===============
	1/2 =======
	1/3 =====
	1/4 ===
	1/5 ===
	  2 ==============================
	  3 =============================================
	  4 ============================================================
	  5 ===========================================================================
	>>> print bar_chart({
	...     '1': 2**1,
	...     '2': 2**2,
	...     '3': 2**3,
	...     '4': 2**4,
	...     '5': 2**5,
	...     '6': 2**6,
	...     '7': 2**7,
	... })
	1 =
	2 ==
	3 ====
	4 =========
	5 ===================
	6 ======================================
	7 =============================================================================

def bar_chart(data, bar_char='=', width=80):
	"""Return an horizontal bar chart 

	>>> print bar_chart({
	...     'one': '1',
	...     'two': '2',
	...     'three': '3',
	...     'four': '4',
	...     'five': '5',
	... })
	 five =====
	 four ====
	  one =
	three ===
	  two ==
	>>> print bar_chart({
	...     '1/1': 1/1.0,
	...     '1/2': 1/2.0,
	...     '1/3': 1/3.0,
	...     '1/4': 1/4.0,
	...     '1/5': 1/5.0,
	...     '2': 2,
	...     '3': 3,
	...     '4': 4,
	...     '5': 5,
	... })
	1/1 ===============
	1/2 =======
	1/3 =====
	1/4 ===
	1/5 ===
	  2 ==============================
	  3 =============================================
	  4 ============================================================
	  5 ===========================================================================
	>>> print bar_chart({
	...     '1': 2**1,
	...     '2': 2**2,
	...     '3': 2**3,
	...     '4': 2**4,
	...     '5': 2**5,
	...     '6': 2**6,
	...     '7': 2**7,
	... })
	1 =
	2 ==
	3 ====
	4 =========
	5 ===================
	6 ======================================
	7 =============================================================================
    """
	if type(data) is dict:
		output = []
		max_len = len(max(data, key=len))
		float_values = map(float, data.values())
		max_value = max(float_values)
		min_value = min(float_values)
		all_integer = all(f.is_integer() for f in float_values)
		for key in sorted(data):
			output.append('%s %s'%(key.rjust(max_len, ' '), draw_bar(bar_char, float(data[key]), all_integer, min_value, max_value, width-max_len-2)))
	return '\n'.join(output)