Com esse código podemos plotar, por exemplo, as funções utilizadas em análise de algoritmos, que são:
Veja abaixo:
Podemos selecionar quais funções serão mostradas no momento e ajustar os valores mínimos:
Para rodar o código você só precisa de Java 8, baixar o arquivo, salvar em PlotarFuncao.java e executar:
$ javac PlotarFuncao.java
$ java PlotarFuncao
Você pode modificar o código e adicionar mais funções. Modifiquei a lista functions para isso:
static List<NamedFunction> functions = Arrays.asList(
NamedFunction.of("1", n -> 1d),
NamedFunction.of("log n", n -> log2(n)),
NamedFunction.of("n", n -> n),
NamedFunction.of("n log n", n -> n * log2(n)),
NamedFunction.of("n^2", n -> Math.pow(n, 2)),
NamedFunction.of("n^3", n -> Math.pow(n, 3)),
NamedFunction.of("2^n", n -> Math.pow(2, n))
);
Esse post foi mais um rapidinho para compartilhar essa pequena aplicação que, inclusive, já me foi util :-)