Skip to content Skip to sidebar Skip to footer

How Can I Add A Python's Ggplot Object To A Matplot Grid?

My pandas DataFrame results_print has 2-dim arrays that are images. I print them like so: n_rows = results_print.shape[0] n_cols = results_print.shape[1] f, a = plt.subplots(n_cols

Solution 1:

I think the solution would be to first draw the ggplot part. Then obtain the matplotlib figure object via plt.gcf() and the axes via plt.gca(). Resize the ggplot axes to fit into a grid and finally draw the rest of the matplotlib plots to that figure.

enter image description here

import ggplot as gp
import matplotlib.pyplot as plt
import numpy as np
# make ggplot
g = gp.ggplot(gp.aes(x='carat', y='price'), data=gp.diamonds)
g = g + gp.geom_point()
g = g + gp.ylab(' ')+ gp.xlab(' ')
g.make()
# obtain figure from ggplot
fig = plt.gcf()
ax = plt.gca()
# adjust some of the ggplot axes' parameters
ax.set_title("ggplot plot")
ax.set_xlabel("Some x label")
ax.set_position([0.1, 0.55, 0.4, 0.4])

#plot the rest of the maplotlib plotsfor i in [2,3,4]:
    ax2 = fig.add_subplot(2,2,i)
    ax2.imshow(np.random.rand(23,23))
    ax2.set_title("matplotlib plot")
plt.show()

Post a Comment for "How Can I Add A Python's Ggplot Object To A Matplot Grid?"