code: def vertically(value, num_blocks, val_min, color, args):
      
      global maxi, value_list
  
      value_list.append(str(value))
  
      # In case the number of blocks at the end of the normalization is less
      # than the default number, use the maxi variable to escape.
      if maxi < num_blocks:
          maxi = num_blocks
  
      if num_blocks > 0:
          vertical_list.append((TICK * num_blocks))
      else:
          vertical_list.append(SM_TICK)
  
      # Zip_longest method in order to turn them vertically.
      for row in zip_longest(*vertical_list, fillvalue='  '):
          zipped_list.append(row)
  
      counter, result_list = 0, []
  
      # Combined with the maxi variable, escapes the appending method at
      # the correct point or the default one (width).
      for i in reversed(zipped_list):
          result_list.append(i)
          counter += 1
  
          if maxi == args['width']:
              if counter == (args['width']):
                  break
          else:
              if counter == maxi:
                  break
  
      # Return a list of rows which will be used to print the result vertically.
      return result_list
docs: Prepare the vertical graph.
         The whole graph is printed through the print_vertical function.