#!/usr/bin/python
 # -*- coding: utf-8 -*-
from pylab import *

import numpy as np
import matplotlib.pyplot as plt
import StringIO

# NOTE: xlabels: labels from X axis
down = up = xlabels = tuple()
#--------RANDOM VALUES---------------------#
from random import randrange
min_mb = 30
max_mb = 1000
for x in range(24):
    down += (randrange(min_mb, max_mb),)
    up += (randrange(min_mb, max_mb),)
    xlabels += ('%02d:00' % x,)

#------------------------------------------#
# NOTE: values from X axis
xvalues = arange(24)
width = 0.35
cor_down= '#C6E9F8' #'#B9E180'
cor_up = '#E3AB9C' #'#CF1E08'

fig = plt.figure(frameon=False)
fig.set_size_inches(10, 5)
p1 = plt.bar(xvalues, down, width, color=cor_down)
p2 = plt.bar(xvalues+width, up, width, color=cor_up)

axis_label_font = dict(fontsize=10, fontweight='bold')
plt.ylabel('(MB)'.decode('utf-8'), **axis_label_font)
plt.xlabel('Hora', **axis_label_font)
plt.title('title'.decode('utf-8'), fontsize=14, fontweight='bold', color='#6699CC')
plt.xticks(xvalues+width, xlabels)

for p in p1:
    p.set_alpha(0.9)
    p.set_edgecolor('#1AA8E4')

for p in p2:
    p.set_alpha(0.9)
    p.set_edgecolor('#E4471A')

plt.yticks(np.arange(0,max_mb+(max_mb/10),max_mb/10))
#--------LEGEND---------#
fonte_legenda = matplotlib.font_manager.FontProperties(family='Tahoma',
                                                       weight='normal',
                                                       size=10)
legenda=legend((p1[0], p2[0]), ('Down', 'UP'), 'best', 
    shadow=True, prop=fonte_legenda)
legenda.get_frame().set_alpha(0.7)

#--------AXIS---------#
ax = plt.gca()

ax.yaxis.grid(color='#CFB1BB', linestyle=':', linewidth=1)
ax.xaxis.grid(color='#CFB1BB', linestyle=':', linewidth=1)
ax.set_axisbelow(True)
# NOTE: thanks to Gökhan SEVER
axis(xmin=0, xmax=24)

#--------LABEL FONT (IS NOT GETTING BOLD)---------#
size_x, size_y = 7, 10
fontname = 'Tahoma'
for tick in ax.xaxis.get_major_ticks():
    tick.label1.set_fontsize(size_x)
    tick.label1.set_fontweight('bold')
    tick.label1.set_fontname(fontname)

for tick in ax.yaxis.get_major_ticks():
    tick.label1.set_fontsize(size_y)
    tick.label1.set_fontweight('bold')
    tick.label1.set_fontname(fontname)


file = 'file.png'
plt.savefig(file)
