小编Lae*_*nan的帖子

Python:如何导入没有 python-filename 作为子模块的模块?

描述

假设,我有一个具有以下结构的包:

package-folder
  |_ mypackage
     |_ __init__.py
     |_ module1.py
  setup.py
Run Code Online (Sandbox Code Playgroud)

哪里__init__.py是空的

module1.py

def do_stuff():
    print('Did stuff.')
Run Code Online (Sandbox Code Playgroud)

setup.py包含用于制作软件包的常用上下文,可以安装pip install -e pkgpath在本地系统上。

在 a 中script.py,我必须这样做:

import mypackage as abbr

abbr.module1.do_stuff()
# output: Did stuff.
Run Code Online (Sandbox Code Playgroud)

我想要的电话是:

abbr.do_stuff()
# output: Did stuff.
Run Code Online (Sandbox Code Playgroud)

问题

  1. 我如何“组织”我的包,以便我可以直接从 module1.py 调用函数abbr.function()?需要修改哪些代码?
  2. 如果包增长,这个组织是否有用?那么目录将充当结构元素,而 python 文件只是用于组织我的功能的胶囊?
  3. 在模块和子模块中组织功能的最佳方法是什么?

进一步的想法

  • 是否有充分的理由不在每个 python 文件中只有一个可以从模块使用的函数?(并且与文件同名)
  • 我想,我将不得不修改我的__init__.py-files,但我不知道如何修改。

问题2的澄清

package-folder
|_ mypackage
   |_ __init__.py
   |_ module1.py #with function do_stuff1()
   |_ subpackage
      |_module2.py #with function do_stuff2() …
Run Code Online (Sandbox Code Playgroud)

python module python-import python-3.x

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

matplotlib - 如何使用 MaxNLocator 并指定必须位于轴中的数字?

我确实对 python 中的 matplotlib 有疑问。我创建了不同的图形,其中每个图形都应具有相同的高度,以便将它们并排打印在出版物/海报中。

如果 y 轴的最顶部有标签,则会缩小绘图框的高度。所以我使用 MaxNLocator 删除上下 y 刻度。在某些图中,我希望将 1.0 作为 y 轴上的数字,因为我已经标准化了数据。所以我需要一个解决方案,在这些情况下扩展 y 轴并确保 1.0 是 y-Tick,但不会使用ight_layout() 破坏图形的大小。

这是一个最小的例子:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import MaxNLocator

x = np.linspace(0,1,num=11)
y = np.linspace(1,.42,num=11)

fig,axs = plt.subplots(1,1)
axs.plot(x,y)

locator=MaxNLocator(prune='both',nbins=5)
axs.yaxis.set_major_locator(locator)

plt.tight_layout()

fig.show()
Run Code Online (Sandbox Code Playgroud)

这是示例 pdf 的链接,其中显示了上框线高度的问题。

我尝试使用 adjustment_subplots() 但这对我来说没有用,因为我改变了图形的大小并且希望始终具有相同的字体大小,这会改变边距。

问题是:

如何使用 MaxNLocator 并指定 y 轴上的数字?

希望你们中的一些人有一些建议。

问候,拉南

python label axis matplotlib

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

标签 统计

python ×2

axis ×1

label ×1

matplotlib ×1

module ×1

python-3.x ×1

python-import ×1