我在任何地方都找不到如何用不同的函数绘制两个图的子图。谁能帮我吗?我使用Jupyter Notebook。
第一个功能:
def OccurrenciesPlotting(filtered_sent):
fdist = FreqDist(filtered_sent)
fdist.plot(40,cumulative=False)
第二个功能:
def MyWordCloud(filtered_sent):
img = np.array(Image.open("H....jpg"))
stopwords = set(STOPWORDS)
.
.
.
image_colors = ImageColorGenerator(img)
plt.figure()
plt.imshow(wordcloud.recolor(color_func=image_colors),
interpolation="bilinear")
plt.axis("off")
plt.savefig('wordcloud.png', format="png")
plt.show()
我希望函数的结果一个接一个
非常感谢:)
答案 0 :(得分:0)
要绘制子图,必须使用plt.subplots()函数。然后,您的图形就是包含两个子图的图,每个子图都位于一个轴对象上。 由于您的代码不可复制,因为我们缺少数据,因此我无法为您提供完整的代码。 通常,应传递要在其上绘制函数的轴以作为参数传递。 将熊猫作为pd导入 导入matplotlib.pyplot作为plt
df = pd.DataFrame({"a":[1,2,3], "b": [2,3,4]})
def f1(df, axis):
return df["a"].plot(ax = axis)
def f2(df, axis):
axis = plt.plot(df["b"], c = "g")
return axis
fig, axes = plt.subplots(nrows =1, ncols = 2)
f1(df, axes[0])
axes[1] = f2(df, axes[1])
plt.show()
如您所见,在使用pandas绘图函数和matplotlibs函数时,必须使用稍微不同的方法。您可以使用ax参数将所需的轴传递到df.plot()。为了使用常规的matplotlib库,我从函数中返回了一个轴对象。