plots are still in progress, but some examples:
mpg=pd.read_csv(data_path/"mpg.csv")
plot1=ggplot(mpg, aes("class", fill="drv")) +geom_bar()
df=mpg.groupby(["class", "cyl"], as_index=False).agg(meanHwy=("hwy", "mean"))
plot2= (
ggplot(df, aes("class", "cyl", fill="meanHwy"))
+geom_tile()
+geom_text(aes(text="meanHwy"))
+scale_y_discrete()
)
plot3= (
ggplot(mpg, aes(x="cty", fill="class"))
+geom_freqpoly(alpha=0.3)
+scale_x_continuous()
)
plot4=ggplot(
mpg, aes(x="cty", fill="class")
) +geom_histogram() +scale_x_continuous()
mpg=mpg.copy(deep=True)
mpg["cty"] =mpg["cty"].astype(float)
plot5=ggplot(mpg, aes(x="cty", y="displ", size="cyl", color="cty")) +geom_point()
ggmulti(
[plot1, plot2, plot3, plot4, plot5],
plots_path/"gg_multi_pmg.png",
)weather=pd.read_csv(data_path/"lincoln-weather.csv")
month_order= [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December",
]
weather['Month'] =pd.Categorical(weather['Month'], categories=month_order, ordered=True)
plot= (
ggplot(
weather,
aes(x="Mean Temperature [F]", fill="Month"),
)
+ggridges("Month", overlap=1.7)
+geom_area(stat="bin", alpha=0.7)
+ylab(rotate=-30)
)
res=ggcreate(plot)
ggdraw_plot(res, plots_path/"ridgets_weather.png")rng=np.random.default_rng(42)
x_vals=np.repeat(np.arange(28), 28)
y_vals=np.tile(np.arange(28), 28)
z_vals=rng.random(28*28)
df=pd.DataFrame({
'xs': x_vals.astype(float),
'ys': y_vals.astype(float),
'zs': z_vals
})
plot=ggplot(df, aes("xs", "ys", fill="zs")) +geom_tile()
res=ggcreate(plot)
ggdraw_plot(res, plots_path/"geom_tile.png")mpg=pd.read_csv(data_path/"mpg.csv")
df=mpg.groupby(["class", "cyl"], as_index=False).agg(meanHwy=("hwy", "mean"))
plot= (
ggplot(df, aes("class", "cyl", fill="meanHwy"))
+geom_tile()
+geom_text(aes(text="meanHwy"))
+scale_y_discrete()
)
res=ggcreate(plot)
ggdraw_plot(res, plots_path/"geom_tile_mpg.png")mpg=pd.read_csv(data_path/"mpg.csv")
plot= (
ggplot(mpg, aes(x="cty", color="class")) +geom_freqpoly() +scale_x_continuous()
)
res=ggcreate(plot)
ggdraw_plot(res, plots_path/"geom_freqpoly.png")diamonds=pd.read_csv(data_path/"diamonds.csv")
plot=ggplot(
diamonds, aes("price", color="cut")
) +geom_freqpoly(
) +ylab(
label="custom label",
rotate=-45
) +xlab(
rotate=45,
tick_margin=2.5
)
res=ggcreate(plot)
ggdraw_plot(res, plots_path/"geom_freqpoly.png")mpg=pd.read_csv(data_path/"mpg.csv")
plot= (
ggplot(mpg, aes(x="cty", fill="class"))
+geom_freqpoly(alpha=0.3)
+scale_x_continuous()
)
res=ggcreate(plot)
ggdraw_plot(res, plots_path/"test_geom_freqpoly_cty_class_fill.png")mpg=pd.read_csv(data_path/"mpg.csv")
plot=ggplot(mpg, aes(x='displ')) +geom_histogram()
res=ggcreate(plot)
ggdraw_plot(res, data_path/"geom_histogram.png")mpg=pd.read_csv(data_path/"mpg.csv")
plot=ggplot(mpg, aes(x="cty", fill="class")) +geom_histogram() +scale_x_continuous()
res=ggcreate(plot)
ggdraw_plot(res, plots_path/"geom_histogram_fill.png")np.random.seed(1234)
sex=np.repeat(["F", "M"], repeats=200)
weight=np.round(
np.concatenate(
[
np.random.normal(loc=55, scale=5, size=200),
np.random.normal(loc=65, scale=5, size=200),
]
)
)
df=pd.DataFrame({"sex": pd.Categorical(sex), "weight": weight})
vline_gender_quantiles= (
df.groupby("sex")["weight"].quantile([0.05, 0.95]).reset_index()
)
global_quantiles: List[float] =list(df["weight"].quantile([0.05, 0.95]))
plot= (
ggplot(df, aes(x="weight", fill="sex"))
+geom_area(stat="bin", alpha=1)
+geom_vline(
data=vline_gender_quantiles,
aes=aes(xintercept="weight"),
size=2,
line_type="dashed",
inhert_aes=True,
alpha=0.7,
)
+geom_vline(
xintercept=global_quantiles, size=2.5, line_type="solid", color="blue"
)
+geom_hline(yintercept=10, size=1, alpha=0.7)
)
res=ggcreate(plot)
ggdraw_plot(res, plots_path/"geom_area_stat_bin.png")mpg=pd.read_csv(data_path/"mpg.csv")
mpg["cty"] =mpg["cty"].astype(float)
plot=ggplot(mpg, aes(x="displ", y="hwy", color="cty")) +geom_point()
res=ggcreate(plot)
ggdraw_plot(res, plots_path/"geom_point_with_continuous_color.png")mpg=pd.read_csv(data_path/"mpg.csv")
mpg["cty"] =mpg["cty"].astype(float)
mpg["mpgMean"] = (mpg["cty"] +mpg["hwy"]) /2.0df_max=mpg.sort_values("mpgMean").tail(1)
plot= (
ggplot(mpg, aes("hwy", "displ"))
+geom_point(aes(color="cty"))
+geom_text(data=df_max, aes=aes(y=gg_col("displ") +0.2, text="model"))
+geom_text(data=df_max, aes=aes(y=gg_col("displ") -0.2, text="mpgMean"))
)
res=ggcreate(plot)
ggdraw_plot(res, plots_path/"geom_point_and_text.png")mt_cars=pd.read_csv(data_path/"mtcars_r.csv")
plot= (
ggplot(mt_cars, aes(x="wt", y="mpg"))
+geom_point()
+geom_abline(intercept=37, slope=-5, size=3.2)
+geom_vline(xintercept=3, color="blue")
+geom_hline(yintercept=22, line_type="dashed")
+annotate_text("Annotated text", x=4, y=30, size=15, background_color="transparent")
+annotate_text("🥸", x=3, y=22, size=40, emoji=True)
)
res=ggcreate(plot)
ggdraw_plot(res, plots_path/"geom_abline_vline_hline.png")mpg=pd.read_csv(data_path/"mpg.csv")
mpg["hwy"] =mpg["hwy"].astype(float)
plot= (
ggplot(mpg, aes("displ", "hwy"))
+geom_point(
data=mpg.loc[mpg["manufacturer"] =="subaru"], color="orange", size=3
)
+geom_point(size=1.5)
+annotate_curve(x=5, y=38, xend=3, yend=30, curvature=-0.3, arrow=True)
+annotate_text(text="subaru", x=5, y=37, background_color="transparent")
+annotate_point(x=4.95, y=36.3, color="orange", size=3)
+annotate_point(x=4.95, y=36.3, color="black", size=1.5)
)
res=ggcreate(plot)
ggdraw_plot(res, plots_path/"annotate_curve.png")mpg=pd.read_csv(data_path/"mpg.csv")
mpg["cty"] =mpg["cty"].astype(float)
plot=ggplot(mpg, aes(x="cty", y="displ", size="cyl", color="cty")) +geom_point()
res=ggcreate(plot)
ggdraw_plot(res, plots_path/"geom_point_with_continuous_color_and_size.png")df=create_dataframe()
plot=ggplot(
df, aes("tenors", "pathValues", color="pathNames")
) +geom_line() +xlab(rotate=-90, tick_margin=3)
res=ggcreate(plot)
ggdraw_plot(res, plots_path/"geom_line_With_color.png")df=pd.DataFrame(
data={
"trt": pd.Categorical([1, 1, 2, 2]),
"resp": [1, 5, 3, 4],
"group": pd.Categorical([1, 2, 1, 2]),
"upper": [1.1, 5.3, 3.3, 4.2],
"lower": [0.8, 4.6, 2.4, 3.6],
}
)
plot=ggplot(df, aes(x="trt", y="resp", color="group")) +geom_linerange(
aes(ymin="lower", ymax="upper")
)
res=ggcreate(plot)
ggdraw_plot(res, plots_path/"geom_linerange.png")mpg=pd.read_csv(data_path/"mpg.csv")
plot=ggplot(mpg, aes("class")) +geom_bar()
res=ggcreate(plot)
ggdraw_plot(res, data_path/"geom_bar.png")mpg=pd.read_csv(data_path/"mpg.csv")
plot=ggplot(mpg, aes("class", fill="drv")) +geom_bar()
res=ggcreate(plot)
ggdraw_plot(res, plots_path/"geom_bar_fill.png")df=pd.DataFrame({
'g': ['a', 'a', 'a', 'b', 'b', 'b'],
'x': [1, 3, 5, 2, 4, 6],
'y': [2, 5, 1, 3, 6, 7]
})
plot=ggplot(
df, aes(x="x", y="y", fill="g")
) +geom_area(alpha=0.3) +geom_point(size=5)
res=ggcreate(plot)
ggdraw_plot(res, plots_path/"geom_area_stat_identity.png")mpg=pd.read_csv(data_path/"mpg.csv")
plot=ggplot(mpg, aes(x='displ', y="cty", text='manufacturer')) +geom_text()
res=ggcreate(plot)
ggdraw_plot(res, data_path/"geom_text.png")df=pd.DataFrame(
data={"dose": ["D0.5", "D1", "D2"], "bbb": [4.2, 10, 29.5]}
)
plot=ggplot(df, aes(x="dose", y="bbb")) +geom_line() +geom_point()
res=ggcreate(plot)
ggdraw_plot(res, data_path/"geom_line_and_point_with_linetype.png")df=pd.DataFrame({
'x': [1, 3, 5, 2, 4, 6],
'y': [2, 5, 1, 3, 6, 7]
})
plot=ggplot(
df, aes(x="x", y="y")
) +geom_area(alpha=0.3)
res=ggcreate(plot)
ggdraw_plot(res, plots_path/"geom_area_simple.png")plots=_gg_multi_plots()
ggmulti(
plots,
plots_path/"gg_multi_pmg_bottom_to_top.png",
vertical_orientation="bottom_to_top"
)plots=_gg_multi_plots()
ggmulti(
plots,
plots_path/"gg_multi_pmg_right_to_left.png",
horizontal_orientation="right_to_left"
)df=pd.DataFrame({
'trt': [1, 1, 2, 2],
'resp': [1, 5, 3, 4],
'group': pd.Categorical([1, 2, 1, 2]),
'upper': [1.5, 5.0, 3.3, 4.2],
'lower': [1, 4.0, 2.4, 3.6]
})
plot=ggplot(df, aes(x="trt", y="resp", color="group")) +geom_error_bar(
aes(ymin="lower", ymax="upper"), size=20
)
res=ggcreate(plot)
ggdraw_plot(res, plots_path/"geom_error_bar.png")

























