标签: plt

保存 matplotlib 表会产生大量空白

我正在使用 matplotlib 和 python 2.7 创建一些表。当我保存表格时,即使表格只有 1 - 2 行,图像也会变成方形,当我稍后将它们添加到自动生成的 PDF 时会创建大量空白空间。我如何使用代码的一个例子在这里......

import matplotlib.pyplot as plt

t_data = ((1,2), (3,4))
table = plt.table(cellText = t_data, colLabels = ('label 1', 'label 2'), loc='center')
plt.axis('off')
plt.grid('off')
plt.savefig('test.png')
Run Code Online (Sandbox Code Playgroud)

这会产生这样的图像...... 你可以看到你可以看到它周围的空白

奇怪地使用plt.show()在 GUI 中生成没有空白的表格。

我尝试过使用各种形式的tight_layout=True没有运气,以及使背景透明(它变得透明,但仍然存在)。

任何帮助将不胜感激。

python matplotlib save plt

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

查找 PLT 存根的地址

我正在 Linux X86_64 上工作。

我需要根据条目所代表的动态函数的名称来确定 ELF 文件中特定 PLT 条目的地址。我可以算出文件相对于地址的偏移量,但我需要能够确定地址。

如果我使用反汇编 ELF 文件,objdump -D -z elffile我会发现 objdump 对 PLT 中的每个条目使用符号名称。(objdump从哪里获取这些地址和符号名的关系?)

例子:

0000000000000041a2b0 fileno@plt:
Run Code Online (Sandbox Code Playgroud)

如果我使用objdump -T elffile | grep fileno我会得到这样的东西:

0000000000000   DF *UND*  00000000000000000   GLIBC_2.2.5 fileno
Run Code Online (Sandbox Code Playgroud)

我需要从“C”做的是在 ELF 文件中找到特定动态函数的 PLT 条目并获取地址。

背景是我正在修补现有的 ELF 文件,并且需要将函数调用重定向到不同的动态函数。我已经使用从 objdump 反汇编中收集的地址手动修补了 ELF 文件,并证明这适用于我的特定应用程序,我只需要能够从程序中执行此操作。我希望不必通过 objdump 反汇编程序代码来找出它如何获取 PLT 条目符号和地址。

linux x86-64 elf plt got

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

如何强制gcc直接在PIC代码中调用函数?

考虑以下功能:

extern void test1(void);
extern void test2(void) {
    test1();
}
Run Code Online (Sandbox Code Playgroud)

这是gcc -fpic在amd64 Linux上生成的代码:

test2:
    jmp test1
Run Code Online (Sandbox Code Playgroud)

当我编译时-fpic,gcc显式调用PLT来启用符号插入:

test2:
    jmp test1@PLT
Run Code Online (Sandbox Code Playgroud)

然而,这对于与位置无关的代码并不是严格需要的,如果我不想支持,可能会被遗漏.如有必要,链接器仍然会将跳转目标重写为PLT符号.

如何在不更改源代码且不使编译代码不适合共享库的情况下,使函数调用直接转到其目标而不是通过PLT显式转换?

c x86 gcc position-independent-code plt

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

TypeError:__ init __()缺少1个必需的位置参数:'figure'

当我试图通过代码绘制交互式绘图时:

import matplotlib.pyplot as plt
import PyQt5
%matplotlib qt
...
plt.plot(a_list,b_list)
plt.show()
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

 --------------------------------------------------------------------------- TypeError                                 Traceback (most recent call
 last) <ipython-input-49-187dd4fead7a> in <module>()
 ----> 1 plt.plot(parameters['eng_list'],np.real(conductivity))
       2 plt.plot(parameters['eng_list'],np.imag(conductivity))
       3 plt.show()

 C:\Anaconda3\lib\site-packages\matplotlib\pyplot.py in plot(*args,
 **kwargs)    3305 @_autogen_docstring(Axes.plot)    3306 def plot(*args, **kwargs):
 -> 3307     ax = gca()    3308     # Deprecated: allow callers to override the hold state    3309     # by passing hold=True|False

 C:\Anaconda3\lib\site-packages\matplotlib\pyplot.py in gca(**kwargs)
     948     matplotlib.figure.Figure.gca : The figure's gca method.
     949     """
 --> 950     return gcf().gca(**kwargs)
     951 
     952 # More …
Run Code Online (Sandbox Code Playgroud)

python qt pyqt matplotlib plt

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

相互绘制数据框列

我有这个 df :

      CET    MaxTemp  MeanTemp MinTemp  MaxHumidity  MeanHumidity  MinHumidity  revenue     events
0  2016-11-17   11      9        7            100           85             63   385.943800    rain
1  2016-11-18   9       6        3             93           83             66  1074.160340    storm
2  2016-11-19   8       6        4             93           87             76  2980.857860    
3  2016-11-20   10      7        4             93           84             81  1919.723960    rain-thunderstorm
4  2016-11-21   14     10        7            100           89             77   884.279340
5  2016-11-22   13     10        7             93           79             63   869.071070
6  2016-11-23   11      8        5            100           91             82   760.289260    fog-rain
7 …
Run Code Online (Sandbox Code Playgroud)

python matplotlib dataframe pandas plt

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

从元组列表构建条形图 - Python

我需要从我得到的元组列表中构建一个条形图,键名作为 x 轴上显示的每个条的标签,值作为条的高度。这是我的输入的样子:

top20 = [('Blues', 2008), ('Guadeloupe', 1894), ('Yorkshire', 1216), ('Monterrey', 1112), ('Government', 1081), ('Algeria', 972), ('Rotterdam', 920), ('Sardinia', 913), ('Mac OS', 864), ('Coffee', 858), ('Netherlands', 849), ('Oklahoma', 829), ('Tokyo', 817), ('Boating', 801), ('Finland', 765), ('Michigan', 737), ('Tamaulipas', 733), ('Croatia', 722), ('Kagoshima', 701), ('Isuzu', 678)]
Run Code Online (Sandbox Code Playgroud)

这是我目前使用的代码:

plt.bar(range(len(top20)), top20.values(), align='center')
plt.xticks(range(len(top20)), list(top20.keys()))
plt.show()
Run Code Online (Sandbox Code Playgroud)

我知道,逻辑遵循字典作为输入,但我想不出一种方法来完成这项工作。请帮忙,并提前致谢。

python plt

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

plt.show()无法打开新的图形窗口

我正在尝试使用plt.show()显示一些图。我得到了在IPython控制台上显示的图,但是我需要在新窗口中查看每个图。我能做什么 ?

python matplotlib python-2.7 plt

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

标签 统计

plt ×7

python ×5

matplotlib ×4

c ×1

dataframe ×1

elf ×1

gcc ×1

got ×1

linux ×1

pandas ×1

position-independent-code ×1

pyqt ×1

python-2.7 ×1

qt ×1

save ×1

x86 ×1

x86-64 ×1