我想更改pyplot图例中的线样本的厚度/宽度.
图例中线样的线宽与它们在图中表示的线相同(因此,如果线y1有linewidth=7.0,则图例的相应y1标签也将具有linewidth=7.0).
我希望图例线比图中的线条更粗.
例如,以下代码生成以下图像:
import numpy as np
import matplotlib.pyplot as plt
# make some data
x = np.linspace(0, 2*np.pi)
y1 = np.sin(x)
y2 = np.cos(x)
# plot sin(x) and cos(x)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x, y1, c='b', label='y1',linewidth=7.0)
ax.plot(x, y2, c='r', label='y2')
leg = plt.legend()
plt.show()
Run Code Online (Sandbox Code Playgroud)
我想y1在图例中设置标签linewidth=7.0,而图中的y1线条具有不同的宽度(linewidth=1.0).
我没有成功在线寻找解决方案.唯一相关的问题是有关更改图例边界框的线宽的答案leg.get_frame().set_linewidth(7.0).这不会改变线的线宽内的传奇.
在 VSCode 中,单元格中的文本与该单元格的最左侧边界/边缘之间存在很大间隙。
您可以在此屏幕截图中看到两个红色箭头之间的空白边距或间隙:

这里有太多的填充,看起来像是 2 或 3 个空格的缩进。我宁愿没有填充,或者至少显着减少填充。
有什么办法可以调整这个边距宽度吗?
我刚开始使用ipython/jupyter笔记本.Shift-Enter(运行当前单元格)和Enter(插入换行符)命令使用起来很令人沮丧.我想在编辑模式下交换这两个输入的命令.
所以:
Shift-Enter :(插入换行符)
输入:(运行当前单元格)
有没有办法重新映射jupyter笔记本的命令?配置文件可能吗?听起来像ipython笔记本并不总是这样工作(在IPython控制台中输入插入新行而不是在内核重启后执行当前行#2696).链接github问题的解决方案似乎是"只使用shift-enter",而我无法在google上找到解决方案.
我有以下版本:
ipykernel (4.5.2)
ipython (5.3.0)
jupyter (1.0.0)
notebook (4.4.1)
Run Code Online (Sandbox Code Playgroud) 我有一个 python 文件,其中包含一些代码以及对该代码的简单测试。
我想从该 python 文件调用 pytest,让它仅收集该文件中的测试,然后运行它们。
例如,foo.py:
# ... various code above...
def test_foo():
foo = Foo()
assert foo()
def test_bar():
bar = Bar()
assert bar.baz
if __name__ == '__main__':
import pytest
pytest.main()
Run Code Online (Sandbox Code Playgroud)
我现在想运行python foo.py并让 pytest 运行该文件中的两个测试,并且仅运行这些测试。
但是,当我运行时python foo.py, pytest 会收集来自我运行命令的路径的所有模块的所有测试。
我如何运行python foo.py并让pytest.main()调用的foo.py仅调用测试foo.py而不调用其他?
我有一个浮点数,myfloat = 0.002我想用空格填充' '而不是尾随零打印.
假设我想myfloat用空格填充右对齐到5个空格.为清楚起见,我将'|'在我的浮动后打印.
我想要的是:
0.002 |
什么填充印刷(我知道)给出:
>>> print(str(myfloat) + '|') # no padding, formatting
0.002|
>>> print('%.5f' % myfloat + '|')
0.00200|
>>> print('{0:<5f}|'.format(myfloat))
0.002000|
>>> print('{0:.5f}|'.format(myfloat))
0.00200|
Run Code Online (Sandbox Code Playgroud)
print('{0:<Xf}|'.format(myfloat))X> 8左右后,我知道垫有空格.我不想要任何尾随零.
我在同一行上打印多个浮点数.它们具有不同的字符串长度,我希望它们使用空格填充而不是零来均匀对齐,因此静态填充字符串将不起作用.
举例来说,可以说,我要打印的内容myfloatlist1 = [0.01, 0.002, 0.0003, 0.00004],并myfloatlist2 = [0.00004, 0.0003, 0.002, 0.01]在两行,每行具有相同间隔填充:
0.01 0.002 0.0003 0.00004
0.00004 0.0003 0.002 0.01
Run Code Online (Sandbox Code Playgroud)
无论如何用空格填充浮动打印(不将浮动转换为字符串或其他东西)?
我有需要测试数据的单元测试。此测试数据已下载,文件大小相当大。
@pytest.fixture
def large_data_file():
large_data = download_some_data('some_token')
return large_data
# Perform tests with input data
def test_foo(large_data_file): pass
def test_bar(large_data_file): pass
def test_baz(large_data_file): pass
# ... and so on
Run Code Online (Sandbox Code Playgroud)
我不想多次下载此数据。它应该只下载一次,并传递给所有需要它的测试。pytest 是否调用large_data_file一次并将其用于使用该夹具的每个单元测试,还是large_data_file每次都调用?
在 中unittest,您只需在setUpClass方法中下载一次所有测试的数据。
我宁愿不只是large_data_file = download_some_data('some_token')在这个 py 脚本中有一个全局变量。我想知道如何使用 Pytest 处理这个用例。