首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matplotlib,所有子图的一个色条,覆盖在纸上。

Matplotlib,所有子图的一个色条,覆盖在纸上。
EN

Stack Overflow用户
提问于 2018-07-12 10:33:11
回答 1查看 1.7K关注 0票数 1

我有以下问题,我的彩色条覆盖我的纸大小的子图,是“打印”为一个pdf。

代码示例:

代码语言:javascript
复制
import numpy as np

import matplotlib.pyplot as plt

import pandas as pd

if __name__ == '__main__':

    titles = np.random.uniform(low=1, high=11, size=(1,10))
    temp = np.random.uniform(low=23, high=200, size=(10,10))
    ctf0102 = np.random.uniform(low=23, high=200, size=(10,10))
    ctf03 = np.random.uniform(low=23, high=200, size=(10,10))

    fig = plt.figure(figsize=(11.69,8.27), dpi=100)

    for num in range(len(titles)):

        ax = fig.add_subplot(3,4,num)

        im = ax.scatter(ctf03[1:,num], ctf0102[:,num], 12, temp[:,num], cmap='magma')

        ax.set_title(titles[num])


    fig.text(0.5, -0.00, '...', ha='center', fontsize=16)

    fig.text(-0.00, 0.5, '...', va='center', rotation='vertical', fontsize=16)

    cbar_ax = fig.add_axes([0.85, 0.15, 0.05, 0.7])
    fig.colorbar(im, cax=cbar_ax)

    plt.tight_layout(pad=2)

    fig.savefig("example.pdf", dpi=fig.dpi, bbox_inches='tight', pad_inches=0.3)

你知道我怎样才能通过调整我的所有子图的空间,把颜色条移到右边吗?此外,我想扩大的颜色条,成为一个平稳的关闭与顶部和底部的所有子情节。

谢谢你的帮助和想法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-12 10:47:49

使用fig.subplots_adjust设置子图的底部、上、左和右位置。然后使用相同的bottomtop定义颜色条垂直放置的位置。并确保彩色条的左边边缘在子图的右边。

另外,您不能在这里使用tight_layout,否则它会改变位置。

代码语言:javascript
复制
import numpy as np

import matplotlib.pyplot as plt

import pandas as pd

fig = plt.figure(figsize=(11.69,8.27), dpi=100)

bottom, top = 0.1, 0.9
left, right = 0.1, 0.8

fig.subplots_adjust(top=top, bottom=bottom, left=left, right=right, hspace=0.15, wspace=0.25)

for num in range(12):

    ax = fig.add_subplot(3,4,num+1)
    im = ax.scatter(np.random.rand(10), np.random.rand(10), 12, np.random.rand(10), cmap='magma')

fig.text(0.5, 0.02, 'x label', ha='center', fontsize=16)

fig.text(0.02, 0.5, 'ylabel ', va='center', rotation='vertical', fontsize=16)

cbar_ax = fig.add_axes([0.85, bottom, 0.05, top-bottom])
fig.colorbar(im, cax=cbar_ax)

fig.savefig("example.pdf", dpi=fig.dpi, pad_inches=0.3)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51303380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档