else: element = element[:min] for j, atom in enumerate(plotter.atoms): if atom.symbol == element and j > small and j < big: if equal is None or (equal is not None and j == equal): atom_indices.append(j) #print atom_indices if orbital == 'A': orbital_type = None else: orbital_type = orbital biases = [] charges = [] for bs in range(int(bias_steps)): try: charge = plotter.charge(bs, 0, atom_indices, orbital_type) bias = plotter.get_info('bias', bs, 0) charges.append(charge) biases.append(bias[0]-bias[1]) except IOError: print ' no file for bias_step', bs biases = np.array(biases) charges = np.array(charges) plot(biases, charges, flags[i]) dense_level=1 if dense_level>1: from scipy import interpolate tck = interpolate.splrep(biases, charges, s=0) numb = len(biases) newbiases = np.linspace(biases[0], biases[-1], numb * (dense_level)) newcharges = interpolate.splev(newbiases, tck, der=0)