In [1]:
from lets_plot import *
LetsPlot.setup_html()
In [2]:
from IPython.display import SVG, Image, HTML
In [3]:
def plot(y_power, c_power, exponent_format):
    n = 10
    data = {
        'x': list(range(n)),
        'y': [(i + 1 + 0.025 * i) * 10**(y_power) for i in range(n)],
        'c': [i * 10**(c_power) for i in range(n)]
    }
    
    return ggplot(data, mapping=aes(x='x', y='y', fill='c')) + geom_bar(stat='identity') + theme(exponent_format=exponent_format)

def grid(y_power, c_power):
    p = gggrid([
        plot(y_power, c_power, 'e') + ggtitle(f"y_power={y_power}, c_power={c_power}, 'e'"), 
        plot(y_power, c_power, 'pow') + ggtitle(f"y_power={y_power}, c_power={c_power}, 'pow'")
    ]) 

    display(SVG(ggsave(p, "temp.svg")))

No exponent - same plots

In [4]:
grid(y_power=3, c_power=3)
0 2 4 6 8 0 2,000 4,000 6,000 8,000 10,000 y_power=3, c_power=3, 'e' y x c 0 2,000 4,000 6,000 8,000 0 2 4 6 8 0 2,000 4,000 6,000 8,000 10,000 y_power=3, c_power=3, 'pow' y x c 0 2,000 4,000 6,000 8,000

Positive power - both plots uses si with e format, and superscript with pow

In [5]:
grid(y_power=7, c_power=7)
0 2 4 6 8 0 20M 40M 60M 80M 100M y_power=7, c_power=7, 'e' y x c 0 20M 40M 60M 80M 0 2 4 6 8 0 10 7 10 7 10 7 10 7 10 8 y_power=7, c_power=7, 'pow' y x c 0 10 7 10 7 10 7 10 7

Low powers with diff sign - same plots

In [6]:
grid(y_power=-3, c_power=-3)
0 2 4 6 8 0.000 0.002 0.004 0.006 0.008 0.010 y_power=-3, c_power=-3, 'e' y x c 0.000 0.002 0.004 0.006 0.008 0 2 4 6 8 0.000 0.002 0.004 0.006 0.008 0.010 y_power=-3, c_power=-3, 'pow' y x c 0.000 0.002 0.004 0.006 0.008

High negative power - e notation on both scales, with superscript

In [7]:
grid(y_power=-7, c_power=-7)
0 2 4 6 8 0.0 2.0e-7 4.0e-7 6.0e-7 8.0e-7 1.0e-6 y_power=-7, c_power=-7, 'e' y x c 0.0 2.0e-7 4.0e-7 6.0e-7 8.0e-7 0 2 4 6 8 0 10 -7 10 -7 10 -7 10 -7 10 -6 y_power=-7, c_power=-7, 'pow' y x c 0 10 -7 10 -7 10 -7 10 -7

Low and high power - mixed regualr and si scales

In [8]:
grid(y_power=3, c_power=7)
0 2 4 6 8 0 2,000 4,000 6,000 8,000 10,000 y_power=3, c_power=7, 'e' y x c 0 20M 40M 60M 80M 0 2 4 6 8 0 2,000 4,000 6,000 8,000 10,000 y_power=3, c_power=7, 'pow' y x c 0 10 7 10 7 10 7 10 7

High power with diff signs - mix of e and si notation with e format, but superscript for both with pow format

In [9]:
grid(y_power=-7, c_power=7)
0 2 4 6 8 0.0 2.0e-7 4.0e-7 6.0e-7 8.0e-7 1.0e-6 y_power=-7, c_power=7, 'e' y x c 0 20M 40M 60M 80M 0 2 4 6 8 0 10 -7 10 -7 10 -7 10 -7 10 -6 y_power=-7, c_power=7, 'pow' y x c 0 10 7 10 7 10 7 10 7
In [ ]: