python - 去掉图中的次框

标签 python matplotlib legend

需要从 pyplot 中删除辅助框架(据信是在绘图中添加图例)。

首先,我已经阅读了有关类似问题的其他问答。 Frameon=False 或 frameon=0 不起作用,我最近重新下载了 matplotlib。其他答案并没有完全解决我的具体问题。我还尝试摆脱 plt.legend(),它摆脱了框架和图例。然后我尝试了 plt.legend(frameon=False) ,但没有任何改变。

#Arbitrary runnable code
from getpass import getpass
import numpy as np
import pylab as plt
import matplotlib as mpl
import healpy as hp
from matplotlib.backends.backend_pdf import PdfPages


with PdfPages('KimmiesHistogram.pdf') as pdf:

    mpl.rcParams['font.family']='serif'
    mpl.rcParams['font.size']=12

    fig = plt.figure(figsize= (12,12), frameon= False)

    plt.xlabel('MJD: Range')

    plt.title("MJD Ranges by Filter")

    y= [1, 2,3,45,6,4,34,76,4,34,65,23,34,3,3,9,5,5]
    y2=[1, 2,3,45,6,4,34,76,4,34,65,23,34,3,3,9,5,5]
    ax1 = fig.add_subplot(132)
    ax1.set_xscale('log')
    ax1.set_yscale('linear')

    plt.hist([y,y2], bins=10, histtype='step', cumulative=1)

    plt.show()

谢谢!

最佳答案

不清楚你的真正意思,但我相信你看到了 3 个子图的边界。如果情况并非如此,请澄清您的问题。当我运行你的代码时,我得到这个:

enter image description here

如果您想删除该外框,则只需使用 ax=fig.add_subplot(111) 指定您只想添加 1 个子图,而不是 3 个子图的中间。这就是你的问题所在。但说实话,您不需要在示例中添加图形轴来绘制所需的数据。

#Arbitrary runnable code
from getpass import getpass
import numpy as np
import pylab as plt
import matplotlib as mpl
from matplotlib.backends.backend_pdf import PdfPages


with PdfPages('KimmiesHistogram.pdf') as pdf:

    mpl.rcParams['font.family']='serif'
    mpl.rcParams['font.size']=12

    fig = plt.figure(figsize= (12,12), frameon= False)

    plt.xlabel('MJD: Range')

    plt.title("MJD Ranges by Filter")

    y= [1, 2,3,45,6,4,34,76,4,34,65,23,34,3,3,9,5,5]
    y2=[1, 2,3,45,6,4,34,76,4,34,65,23,34,3,3,9,5,5]
    ax1 = fig.add_subplot(111)
    ax1.set_xscale('log')
    ax1.set_yscale('linear')

    plt.hist([y,y2], bins=10, histtype='step', cumulative=1)

    plt.show()

enter image description here

关于python - 去掉图中的次框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57314772/

相关文章:

python - 如何创建颜色和标记的图例?

python - 使用 Cython 将结构从 C 返回到 Python

python - 如何使用 virtualenv 运行 uwsgi

python - 在 Python 中将多个文件流式传输到可读对象中

python - 导入错误:无法导入名称 '_path' matplotlib

python - 更改 matplotlib 饼图中的线属性

python - 如何验证两个不同的 .csv 文件列 id 是否与 python 匹配?

python - 双变量 CDF/CCDF 分布 Python

r - 将有图例的图与没有图例的图结合起来

python - 图例标记透明度 - Matplotlib