Python matplotlib.ticker.EngFormatter() Examples

The following are 2 code examples of matplotlib.ticker.EngFormatter(). You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may also want to check out all available functions/classes of the module matplotlib.ticker , or try the search function .
Example #1
Source File: fft.py    From Building-Machine-Learning-Systems-With-Python-Second-Edition with MIT License 6 votes vote down vote up
def plot_specgrams(base_dir=CHART_DIR):
    """
    Plot a bunch of spectrograms of wav files in different genres
    """
    plt.clf()
    genres = ["classical", "jazz", "country", "pop", "rock", "metal"]
    num_files = 3
    f, axes = plt.subplots(len(genres), num_files)

    for genre_idx, genre in enumerate(genres):
        for idx, fn in enumerate(glob.glob(os.path.join(GENRE_DIR, genre, "*.wav"))):
            if idx == num_files:
                break
            axis = axes[genre_idx, idx]
            axis.yaxis.set_major_formatter(EngFormatter())
            axis.set_title("%s song %i" % (genre, idx + 1))
            plot_specgram(axis, fn)

    specgram_file = os.path.join(base_dir, "Spectrogram_Genres.png")
    plt.savefig(specgram_file, bbox_inches="tight")

    plt.show() 
Example #2
Source File: plot_machine_file.py    From kerncraft with GNU Affero General Public License v3.0 4 votes vote down vote up
def main():
    mm = machinemodel.MachineModel(sys.argv[1])
    kernels = sorted(mm['benchmarks']['kernels'])
    cache_levels = sorted(mm['benchmarks']['measurements'])
    fig, axs = plt.subplots(len(cache_levels), 1, figsize=(7, 14), tight_layout=True)
    lines = {}
    for i, cache_level in enumerate(cache_levels):
        max_bw = 0
        max_bw_core = 0

        axs[i].set_title(cache_level)
        formatter1 = EngFormatter(places=0)  # , sep="\N{THIN SPACE}")  # U+2009
        axs[i].yaxis.set_major_formatter(formatter1)
        if cache_level == 'L1':
            axs[i].set_ylabel("Bandwidth [B/s]")
        else:
            axs[i].set_ylabel("Bandwidth [B/s]\n(incl. write-allocate)")
        axs[i].set_xlabel('cores')
        # axs[i].set_xscale('log')

        for ki, kernel in enumerate(kernels):
            if cache_level == 'L1':
                # L1 does not have write-allocate, so everything is measured correctly
                factor = 1.0
            else:
                measurement_kernel_info = mm['benchmarks']['kernels'][kernel]
                factor = (float(measurement_kernel_info['read streams']['bytes']) +
                          2.0 * float(measurement_kernel_info['write streams']['bytes']) -
                          float(measurement_kernel_info['read+write streams']['bytes'])) / \
                         (float(measurement_kernel_info['read streams']['bytes']) +
                          float(measurement_kernel_info['write streams']['bytes']))

            for SMT in mm['benchmarks']['measurements'][cache_level]:
                measurements = [
                    bw*factor
                    for bw in mm['benchmarks']['measurements'][cache_level][SMT]['results'][kernel]]
                max_bw = max(measurements+[max_bw])
                max_bw_core = max(max_bw_core, measurements[0])
                lines[kernel], = axs[i].plot(
                    range(1, 1 + len(measurements)),
                    measurements,
                    linestyle=['-', '--', '..', '-.'][SMT-1],
                    color=kernel_colors[ki])
        axs[i].set_xlim(1)
        axs[i].axhline(max_bw, color='black')
        axs[i].axhline(max_bw_core, color='black')
        axs[i].set_yticks(np.append(axs[i].get_yticks(), [float(max_bw), float(max_bw_core)]))
        axs[i].set_xticks(range(1, 1+len(measurements)))
    fig.legend(lines.values(), lines.keys(), 'lower center', ncol=10)
    fig.savefig(sys.argv[1]+'.pdf')
    #plt.show()