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.
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?"