Ukázka použití knihoven pro tvorbu grafů

Ukázky tvorby grafů pomocí knihoven matplotlib a plotnine.

import matplotlib
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from plotnine import aes, element_text, geom_line, geom_point, ggplot, labs, scale_color_continuous, theme
# Vytvoření dvou proměnných s 15 náhodnými hodnotami
x = np.random.rand(15)
y = np.random.rand(15)
# Vytvoření proměnné z s 15 náhodnými hodnotami z rozsahu 100 až 500
z = np.random.randint(100, 501, size=15)

# Spojení do pandas dataframe
df = pd.DataFrame({"x": x, "y": y, "z": z})
# matplotlib z dat numpy array
fig, ax = plt.subplots()
ax.scatter(x, y)
ax.set_title("Bodový graf")
ax.set_xlabel("x")
ax.set_ylabel("y")
plt.show()
# matplotlib z pandas dataframe
fig, ax = plt.subplots()
scatter = ax.scatter(df["x"], df["y"], c=df["z"], cmap="viridis")
fig.colorbar(scatter, ax=ax, label="Hodnota z")

ax.set_title("Bodový graf")
ax.set_xlabel("x")
ax.set_ylabel("y")
plt.show()
# plotnine na základě pandas dataframe 
plot = (
    ggplot(df, aes(x="x", y="y", color="z"))
    + geom_point(size=5)
    + scale_color_continuous("viridis")
    + labs(title="Scatter Plot", x="x", y="y")
)
plot
# plotnine liniový a bodový graf
plot = (
    ggplot(df, aes(x="x", y="y"))
    + geom_line(color="blue", size=1, linetype="solid", alpha=0.8)
    + geom_point(color="blue", size=3)
    + labs(
        title="Liniový graf",
        x="x",
        y="y",
    )
    + theme(
        plot_title=element_text(size=16, weight="bold"),
        axis_title_x=element_text(size=14),
        axis_title_y=element_text(size=14),
        axis_text=element_text(size=12),
        panel_grid_major=element_text(alpha=0.6),
        panel_grid_minor=element_text(alpha=0.3),
    )
)
plot