我正在编写一个软件系统,通过3D数据集可视化切片和投影.我正在使用matplotlib并专门imshow用于可视化我从分析代码中获取的图像缓冲区.
由于我想用绘图轴注释图像,我使用extent关键字imshow提供将图像缓冲区像素坐标映射到数据空间坐标系.
不幸的是,matplotlib不了解单位.说(以一个人为的例子)我想要绘制尺寸为的图像1000 m X 1 km.在这种情况下,范围将是类似的[0, 1000, 0, 1].即使图像阵列是方形的,由于extent关键字隐含的纵横比为1000,因此得到的绘图轴也具有1000的纵横比.
是否可以强制绘制宽高比,同时仍然使用extent关键字保留自动生成的主要刻度线和标签?
我在小牛队上使用自制软件python,尝试构建numpy 1.8.不幸的是,当我尝试安装numpy时,我收到以下错误:https://gist.github.com/ngoldbaum/8592039
我能够构建numpy 1.7.2 pip install numpy==1.7.2,但numpy 1.8始终无法使用相同的回溯构建.
新版本的mercurial将颜色应用于大多数命令的输出,并将具有长输出的命令传递给寻呼机.如何将旧行为恢复为不输出颜色并且从不使用寻呼机?
我正在开发一个使用cython和c来加速时间敏感操作的python项目.在我们的一些cython例程中,如果空闲核心可用,我们使用openmp进一步加速操作.
由于最新操作系统版本的默认编译器(10.7和10.8上的llvm/clang)不支持openmp,因此这会导致OS X出现一些恼人的情况.我们的权宜之计解决方案是告诉人们在构建时将gcc设置为编译器.我们非常希望以编程方式执行此操作,因为clang可以构建其他所有内容而不会出现任何问题.
现在,编译将失败,并出现以下错误:
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: Command "cc -bundle -undefined dynamic_lookup -L/usr/local/lib -L/usr/local/opt/sqlite/lib build/temp.macosx-10.8-x86_64-2.7/yt/utilities/lib/geometry_utils.o -lm -o yt/utilities/lib/geometry_utils.so -fopenmp" failed with exit status 1
Run Code Online (Sandbox Code Playgroud)
我们的安装脚本的相关部分如下所示:
config.add_extension("geometry_utils",
["yt/utilities/lib/geometry_utils.pyx"],
extra_compile_args=['-fopenmp'],
extra_link_args=['-fopenmp'],
libraries=["m"], depends=["yt/utilities/lib/fp_utils.pxd"])
Run Code Online (Sandbox Code Playgroud)
完整的setup.py文件在这里.
有没有办法从安装脚本中以编程方式测试openmp支持?
我在设置带有颜色条的pcolormesh图时遇到了一些麻烦,该颜色条在颜色条上包含对数间隔的小刻度线.
我最接近的是这样的:
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
xbins = np.linspace(0, 1, 50)
ybins = np.linspace(0, 1, 50)
data = np.random.random((49,49))
fig, ax = plt.subplots()
im = ax.pcolormesh(xbins, ybins, data, norm=matplotlib.colors.LogNorm())
cb = fig.colorbar(im)
cb.ax.minorticks_on()
plt.savefig('test.png')
Run Code Online (Sandbox Code Playgroud)
此解决方案的问题在于,次要刻度在日志空间中均匀分布:

我想设置图,所以我在线性空间中有均匀间隔的小刻度,这应该在该图上显示出不均匀的间距.
我知道我可以使用a手动设置次要刻度标签FixedFormatter,但是如果可能的话我宁愿不这样做,因为我将自动制作大量的绘图.
我有一些python代码,它生成一个256 ^ 3 numpy数据数组,我想用不同的fortran代码读入.
如果numpy ndarray函数tofile()有一个写fortran有序数据的选项,这将是相对容易的,但它不会并且将始终写C顺序数据.有没有一个等效的功能(scipy可能?)会做我想做的事情?