【问题标题】:Plot multiple graphs in matplotlib, setting labels and size of each graph在 matplotlib 中绘制多个图形,设置每个图形的标签和大小
【发布时间】:2020-12-03 20:13:29
【问题描述】:

我想在矩阵 (4,2) 中绘制多个图形,并且我希望左侧的图形在其左侧具有标签,而在右侧则相反。此外,当我在 Google Colab 中绘制它们时,这些图都被挤压在一起,所以我想增加它们的大小和它们之间的间距。最后,我希望只有底部的两个图有 x 标签。

谁能给我一些关于使用哪些函数或内部参数的提示?此外,还有一些功能可以让我在浏览器的另一个窗口中看到我的图表,而不是在我的 Colab 代码框或类似的东西下面?

如果您能给我一些提示以避免不必要的代码,我也会很高兴。

这是我的代码,到目前为止:

x = df_clean['SIO2']

fig, axs = plt.subplots(4, 2)

axs[0,0].plot(x, df_clean['AL2O3'], 'bo', markersize=1)
axs[0,1].plot(x, df_clean['MGO'], 'bo', markersize=1)
axs[1,0].plot(x, df_clean['FEOT'], 'bo', markersize=1)
axs[1,1].plot(x, df_clean['CAO'], 'bo', markersize=1)
axs[2,0].plot(x, df_clean['NA2O'], 'bo', markersize=1)
axs[2,1].plot(x, df_clean['K2O'], 'bo', markersize=1)
axs[3,0].plot(x, df_clean['TIO2'], 'bo', markersize=1)
axs[3,1].plot(x, df_clean['P2O5'], 'bo', markersize=1)

plt.suptitle('Harker Diagrams (All data)')
plt.figure(figsize=(60, 45))

这就是我要回来的:

【问题讨论】:

    标签: python matplotlib google-colaboratory


    【解决方案1】:

    如果您想确定轴标签的特定位置、方向、大小、颜色等,请使用ax.annotate()。您可以阅读文档here 了解如何使用它。有太多的选项可以在这里一一提及,但可以尝试一下,您可以获得精确的标签。

    至于调整绘图之间的间距,使用fig.subplots_adjust()wspacehspace 选项,您可以阅读here

    如果您希望 x 轴标签仅出现在底部,您应该在最初调用 plt.subplots() 时使用 sharex=True。如果您的所有绘图都具有相同的 y 轴,那么设置 sharey=True 也是一个好主意。

    当您调用plt.subplots() 时,您可以通过设置figsize=(width, height) 来调整整个图表的大小(进而调整每个单独图表的大小)。

    不确定让输出出现在不同的浏览器窗口中,但这些功能应该可以帮助您制作更清晰的图表。

    【讨论】:

    • 酷!非常感谢,还有一件事,我如何在我的图表上添加背景?
    • 如果你想添加图片作为背景,我会看here,或者看here,看看如何更改背景颜色。
    猜你喜欢
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    • 2012-09-08
    • 2019-04-19
    • 1970-01-01
    • 1970-01-01
    • 2019-06-24
    相关资源
    最近更新 更多