Kreslení funkcí jednoduše

Open In Colab

Kreslení funkcí jednoduše#

Jednoduché úkoly je vhodné řešit jednoduše. Například pokud chceme vykreslit několik funkcí do jednoho grafu, prostě postupně voláme příkazy kreslící jednotlivé funkce.

Je dobré nejprve zavolat knihovny a nastavit proměnné, poté vykrelist grafy a poté dodělat kosmetické úpravy. To je v jednotlivých políčkách. Na konci práce bude asi vhodné poslední čtyři políčka spojit. Zkontrolujte, že jste v příkazovém modu (needitujete políčko, nalevo je modrá čára a ne zelená), označte spojované buňky (shift plus šipky) a spojte (shift + M). Případně neznačujte a shift+M připojí následující buňku. Stejnou práci odvede Menu -> Edit -> Merge Cell Bellow).

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
N = 8
meze = [0,1]
lov = [0,0.1,0.2,0.3]
x = np.linspace(*meze,N)
def logisticky_rust(x,h=0):
    """
    Funkce definuje pravou stranu logisticke rovnice s pridanym lovem konstantni intenzity.
    """
    r = 1
    K = 1
    return(x*r*(1-x/K) - h)
fig, ax = plt.subplots()
for h in lov:
    plt.plot(x,logisticky_rust(x,h=h))
../_images/792c24987ef97dd9a23a7b52adcb372573cd668129d3b007f836a40527c54637.png

Poznámka: Pro rychlou orientaci jak vypadají grafy funkcí často nepotřebujeme popisky, nadpis apod. Potom není nutné použít v předchozím kódu řádek s nastavením proměnných fig a ax. Na tyto proměnné se odkazujeme při přidávání popisků, mezí pro osy apod. Alternativou, pokud bychom tyto proměnné nenastavili, je použití příkazů plt.gca() a plt.gcf() („get current axes“ a „get current figure“).

ax.legend(lov, title="Intenzita lovu")
ax.set(title="Vliv lovu na logistický růst",
      xlabel="velikost populace",
      ylabel="rychlost růstu",
      ylim=(0,None))
ax.grid()
fig
../_images/e27a7e965e6a1ed1359145d68e8742f56788ccef89ee774679ae105792839a83.png