相关疑难解决方法(0)

使用matplotlib中的许多子图改进子图大小/间距

这个问题非常相似,但不同之处在于我的身材可以达到需要的大小.

我需要在matplotlib中生成一堆垂直堆叠的图.结果将使用figsave保存并在网页上查看,因此我不关心最终图像的高度,只要子图间隔开,这样它们就不会重叠.

无论我有多大的数字,子图总是似乎重叠.

我的代码目前看起来像

import matplotlib.pyplot as plt
import my_other_module

titles, x_lists, y_lists = my_other_module.get_data()

fig = plt.figure(figsize=(10,60))
for i, y_list in enumerate(y_lists):
    plt.subplot(len(titles), 1, i)
    plt.xlabel("Some X label")
    plt.ylabel("Some Y label")
    plt.title(titles[i])
    plt.plot(x_lists[i],y_list)
fig.savefig('out.png', dpi=100)
Run Code Online (Sandbox Code Playgroud)

python matplotlib

260
推荐指数
8
解决办法
32万
查看次数

Matplotlib tight_layout()没有考虑数字suptitle

如果我在matplotlib图中添加一个副标题,它会被子图标题覆盖.有人知道如何轻松处理吗?我尝试了这个tight_layout()功能,但它只会让事情变得更糟.

例:

import numpy as np
import matplotlib.pyplot as plt

f = np.random.random(100)
g = np.random.random(100)
fig = plt.figure()
fig.suptitle('Long Suptitle', fontsize=24)
plt.subplot(121)
plt.plot(f)
plt.title('Very Long Title 1', fontsize=20)
plt.subplot(122)
plt.plot(g)
plt.title('Very Long Title 2', fontsize=20)
plt.tight_layout()
plt.show()
Run Code Online (Sandbox Code Playgroud)

python matplotlib

160
推荐指数
8
解决办法
9万
查看次数

删除matplotlib中子图上的重叠刻度线

我使用以下函数创建了以下一组子图:

def create31fig(size,xlabel,ylabel,title=None):
    fig = plt.figure(figsize=(size,size))
    ax1 = fig.add_subplot(311)
    ax2 = fig.add_subplot(312)
    ax3 = fig.add_subplot(313)
    plt.subplots_adjust(hspace=0.001)
    plt.subplots_adjust(wspace=0.001)
    ax1.set_xticklabels([])
    ax2.set_xticklabels([])
    xticklabels = ax1.get_xticklabels()+ ax2.get_xticklabels()
    plt.setp(xticklabels, visible=False)
    ax1.set_title(title)
    ax2.set_ylabel(ylabel)
    ax3.set_xlabel(xlabel)
    return ax1,ax2,ax3
Run Code Online (Sandbox Code Playgroud)

如何确保子图(312)的顶部和底部不与其邻居重叠?谢谢.

插曲

python plot matplotlib

10
推荐指数
1
解决办法
7812
查看次数

如何让 Matplotlib 图形在 Tkinter GUI 中正确滚动 + 调整大小

我有一个 Tkinter GUI,它显示一个 Matplotlib 图(Python 2.7.3 with Matplotlib 1.2.0rc2)并让用户配置图的某些方面。绘图往往会变大,因此图形被包裹在滚动画布中。配置图的一方面是改变其大小。

现在,一方面绘图正确滚动,另一方面调整大小也能正常工作,但这两种操作不能结合使用。下面是一个脚本来演示效果。(对不起,长度,我不能再短了。)您可以滚动绘图(使用滚动条),并且可以将其变得越来越小(使用按钮)。但是,无论何时滚动,图形都会重置为其原始大小。显然,我希望图形的大小不会因使用滚动条而改变。

import math
from Tkinter import Tk, Button, Frame, Canvas, Scrollbar
import Tkconstants
from matplotlib import pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg

def addScrollingFigure(figure, frame):

    # set up a canvas with scrollbars
    canvas = Canvas(frame)
    canvas.grid(row=0, column=0, sticky=Tkconstants.NSEW)

    xScrollbar = Scrollbar(frame, orient=Tkconstants.HORIZONTAL)
    yScrollbar = Scrollbar(frame)

    xScrollbar.grid(row=1, column=0, sticky=Tkconstants.EW)
    yScrollbar.grid(row=0, column=1, sticky=Tkconstants.NS)

    canvas.config(xscrollcommand=xScrollbar.set)
    xScrollbar.config(command=canvas.xview)
    canvas.config(yscrollcommand=yScrollbar.set)
    yScrollbar.config(command=canvas.yview)

    # plug in the figure
    figAgg = FigureCanvasTkAgg(figure, canvas)
    mplCanvas = …
Run Code Online (Sandbox Code Playgroud)

python tkinter matplotlib

5
推荐指数
1
解决办法
2万
查看次数

如何避免熊猫直方图子图中的图标题和轴标题之间的重叠?

我有这个用熊猫制作的情节:

在此处输入图片说明

我想在情节的标题和以下情节的轴之间有更多的空间,这样它们就不会重叠。我已经尝试了问题的解决方案,使用 matplotlib 中的许多子图改善子图大小/间距,但没有一个对我的图没有任何影响。

python matplotlib histogram overlap pandas

1
推荐指数
1
解决办法
5811
查看次数

标签 统计

matplotlib ×5

python ×5

histogram ×1

overlap ×1

pandas ×1

plot ×1

tkinter ×1