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
Ukázka použití knihoven pro tvorbu grafů
Ukázky tvorby grafů pomocí knihoven matplotlib
a plotnine
.
# Vytvoření dvou proměnných s 15 náhodnými hodnotami
= np.random.rand(15)
x = np.random.rand(15)
y # Vytvoření proměnné z s 15 náhodnými hodnotami z rozsahu 100 až 500
= np.random.randint(100, 501, size=15)
z
# Spojení do pandas dataframe
= pd.DataFrame({"x": x, "y": y, "z": z}) df
# matplotlib z dat numpy array
= plt.subplots()
fig, ax
ax.scatter(x, y)"Bodový graf")
ax.set_title("x")
ax.set_xlabel("y")
ax.set_ylabel( plt.show()
# matplotlib z pandas dataframe
= plt.subplots()
fig, ax = ax.scatter(df["x"], df["y"], c=df["z"], cmap="viridis")
scatter =ax, label="Hodnota z")
fig.colorbar(scatter, ax
"Bodový graf")
ax.set_title("x")
ax.set_xlabel("y")
ax.set_ylabel( plt.show()
# plotnine na základě pandas dataframe
= (
plot ="x", y="y", color="z"))
ggplot(df, aes(x+ geom_point(size=5)
+ scale_color_continuous("viridis")
+ labs(title="Scatter Plot", x="x", y="y")
) plot
# plotnine liniový a bodový graf
= (
plot ="x", y="y"))
ggplot(df, aes(x+ geom_line(color="blue", size=1, linetype="solid", alpha=0.8)
+ geom_point(color="blue", size=3)
+ labs(
="Liniový graf",
title="x",
x="y",
y
)+ theme(
=element_text(size=16, weight="bold"),
plot_title=element_text(size=14),
axis_title_x=element_text(size=14),
axis_title_y=element_text(size=12),
axis_text=element_text(alpha=0.6),
panel_grid_major=element_text(alpha=0.3),
panel_grid_minor
)
) plot