相关疑难解决方法(0)

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中获得多个子图?

我对这段代码的工作原理有点困惑:

fig, axes = plt.subplots(nrows=2, ncols=2)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在这种情况下,无花果轴如何工作?它有什么作用?

为什么这不能做同样的事情:

fig = plt.figure()
axes = fig.subplots(nrows=2, ncols=2)
Run Code Online (Sandbox Code Playgroud)

谢谢

python matplotlib subplot

116
推荐指数
8
解决办法
19万
查看次数

Matplotlib subplots_adjust hspace所以标题和xlabels不重叠?

比方说,matplotlib xlabels中有3行子图,其中一行可以与下一行的标题重叠.一个人必须摆弄pl.subplots_adjust(hspace),这很烦人.

是否有一个配方hspace可以防止重叠并适用于任何nrow?

""" matplotlib xlabels overlap titles ? """
import sys
import numpy as np
import pylab as pl

nrow = 3
hspace = .4  # of plot height, titles and xlabels both fall within this ??
exec "\n".join( sys.argv[1:] )  # nrow= ...

y = np.arange(10)
pl.subplots_adjust( hspace=hspace )

for jrow in range( 1, nrow+1 ):
    pl.subplot( nrow, 1, jrow )
    pl.plot( y**jrow )
    pl.title( 5 * ("title %d " % jrow) ) …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

45
推荐指数
3
解决办法
8万
查看次数

如何使用matplotlib紧配图?

我找到了pyplot的tight_layout函数,并希望使用它.在我的应用程序中,我将matplotlib图嵌入到Qt GUI中并使用数字而不是pyplot.有什么办法可以在那里申请tight_layout吗?如果我在一个图中有多个轴,它也会工作吗?

python matplotlib figure

40
推荐指数
1
解决办法
6万
查看次数

如何在seaborn中并排绘制两个计数图?

我试图绘制两个显示击球和保龄球计数的计票图.我尝试了以下代码:

l=['batting_team','bowling_team']
for i in l:
    sns.countplot(high_scores[i])
    mlt.show()
Run Code Online (Sandbox Code Playgroud)

但通过使用这个,我得到两个一个在另一个下面的情节.我如何让他们并排订购?

python matplotlib pandas seaborn

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

如何为多图布局调整 Matplotlib/Seaborn 子图之间的空间

下图显示了 2 X 2 网格布局中的标准 Seaborn/Matplotlib 箱线图:

seaborn/matplotlib 示例箱线图

这几乎是我想要的,只是我想在图的第一行和第二行之间留出更多空间。第一行图​​的 X 轴标签与第二行图的标题之间的距离几乎不存在。我一直在玩这个线程中解释的参数:

StackOverflow 线程

这是我的相关代码:

    import math
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    from matplotlib.backends.backend_pdf import PdfPages
    from PyPDF2 import PdfFileMerger
    import seaborn as sns
    num_cols = 2
    num_rows = int(math.ceil(tot_plots / float(num_cols)))
    fig, axes = plt.subplots(nrows=num_rows, ncols=num_cols, figsize=(16, 16))
    x_var = df_orig['hra']
    for idx, ax in enumerate(axes.flat):
        data_var = current_cols[idx]
        y_var = df_orig[data_var]
        title_str = ''
        sns.boxplot(x=x_var, y=y_var, ax=ax,
                    order=order, palette=color, showfliers=False)
        ax.set_title(data_var + title_str) …
Run Code Online (Sandbox Code Playgroud)

python matplotlib boxplot subplot seaborn

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

matplotlib中没有填充的图像网格

我正在尝试使用gridspec在matplotlib中制作一个图像网格.问题是,我似乎无法摆脱行之间的填充.

在此输入图像描述

这是我对解决方案的尝试.

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import ImageGrid
import numpy as np
from os import listdir
from os import chdir
from PIL import Image
import matplotlib.gridspec as gridspec

chdir('/home/matthew/Dropbox/Work/writing/'+
    'paper_preperation/jump_figs')
files = listdir('/home/matthew/Dropbox/Work/writing/'+
    'paper_preperation/jump_figs')

images = [Image.open(f) for f in files]


"""
fig = plt.figure()

grid = ImageGrid(fig, 111, # similar to subplot(111)
                nrows_ncols = (2, 5), # creates 2x2 grid of axes
                axes_pad=0.1, # pad between axes in inch.
                )
"""

num_rows = 2
num_cols = 5 …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

子图是重叠的轴标签

我在python中创建了一个包含多个子图的图形。我还为图中的某些轴添加了各种轴标签。举些例子:

plt.xlabel('Phase ($^\circ$)',fontsize=10)
Run Code Online (Sandbox Code Playgroud)

不过,我注意到,在生成最终图形时,允许其他子图重叠并遮盖轴标签的文字。

有什么方法可以阻止这种情况发生吗?

python layout plot matplotlib

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

使用奇数个图表时将最后一个 matplotlib 子图居中

如果我有 5 个图表,如果我制作了 3x2 子图,如何将最后一个(第 5 个)图表居中?

这是我当前的代码:

plt.figure(1)

plt.subplot(321)
firstperiod.megaball.plot(kind='hist', bins = 25)

plt.subplot(322)
secondperiod.megaball.plot(kind='hist', bins = 36)

plt.subplot(323)
thirdperiod.megaball.plot(kind='hist', bins = 52)

plt.subplot(324)
fourthperiod.megaball.plot(kind='hist', bins = 46)

plt.subplot(325)
fifthperiod.megaball.plot(kind='hist', bins = 15)
Run Code Online (Sandbox Code Playgroud)

还想在图表之间放置更多的空白,这样轴值就不会变得狭窄和重叠..还有一个选项吗?

python charts matplotlib subplot

5
推荐指数
0
解决办法
7004
查看次数

如何增加熊猫数据框图的填充?

我正在尝试使用熊猫绘制一些直方图。这是一些示例代码,其执行的操作与我正在执行的操作类似:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
ts = pd.Series(np.random.randn(1000), index=pd.date_range('2018-10-14', periods=1000))
df = pd.DataFrame(np.random.randn(1000, 6), index=ts.index, columns=['A', 'B', 'C', 'D', 'E', 'F'])
df = df.cumsum()
df.hist()
Run Code Online (Sandbox Code Playgroud)

数据以良好的直方图显示,但有一个小问题:

六个直方图,D重叠-20

我在顶部的直方图标签与下一行底部的X轴标签重叠。

我希望能够在这些之间添加一些间距,但是我还没有找到有关如何执行此操作的任何信息。

如何使用pandas和matplotlib增加地块之间的填充?

python matplotlib pandas

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

plt.setp 替代子图或如何为子图设置 x 轴上的文本旋转

我有这段代码,我可以在其中控制属性,例如:x 轴范围、标题、xlabel、ylabel、图例、网格、x 标签上的文本旋转:

#!/usr/bin/python
import datetime
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from matplotlib.widgets import Slider
from matplotlib.dates import DateFormatter
############################################
# generate data
x = np.arange(0,10)
y0 = np.arange(0,10)
y1 = np.random.rand(10)
y2 = np.random.rand(10)
############################################
# initialize (sub)plot(s)
fig, ax = plt.subplots()
############################################
# width of x axis
x_min_index = 0
x_max_index = 3

x_min = x[x_min_index]
x_max = x[x_max_index]
############################################
# create (sub)plot
l, = plt.plot(x,y0, label="plot1a")
l, = plt.plot(x,y1, label="plot1b")
l, = …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

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

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

在此处输入图片说明

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

python matplotlib histogram overlap pandas

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

标签 统计

matplotlib ×12

python ×12

pandas ×3

subplot ×3

seaborn ×2

boxplot ×1

charts ×1

figure ×1

histogram ×1

layout ×1

overlap ×1

plot ×1