小编Fri*_*rub的帖子

如何为Numpy数组创建切片对象?

我试图找到一个简洁的解决方案,但我正在以相同的方式切割几个相同形状的2D阵列.我通过定义一个包含'x,y'中心的列表尽可能地整理它,例如cpix = [161, 134] 我想要做的是不必像这样写三次切片:

a1 = array1[cpix[1]-50:cpix[1]+50, cpix[0]-50:cpix[0]+50] 
a2 = array2[cpix[1]-50:cpix[1]+50, cpix[0]-50:cpix[0]+50] 
a3 = array3[cpix[1]-50:cpix[1]+50, cpix[0]-50:cpix[0]+50]
Run Code Online (Sandbox Code Playgroud)

只是有预定义的东西(比如可能是面具?)所以我可以做一个

a1 = array1[predefined_2dslice] 
a2 = array2[predefined_2dslice] 
a3 = array3[predefined_2dslice] 
Run Code Online (Sandbox Code Playgroud)

这是numpy支持的东西吗?

python arrays numpy

12
推荐指数
2
解决办法
4467
查看次数

如何在matplotlib 2.0中填充仅具有填充(无背景颜色)的区域

随着最近的更新matplotlib fill_betweenhatch(参见此处的链接),填充填充的区域不再像以前那样表现.也就是说,该区域要么填充颜色,要么阴影是黑色的,或者区域没有填充颜色,并且阴影不可见.

以下是来自相同代码的图的并排比较(来自此答案)

import matplotlib.pyplot as plt
import matplotlib as mpl
plt.plot([0,1],[0,1],ls="--",c="b")
plt.fill_between([0,1],[0,1], color="none", hatch="X", edgecolor="b", linewidth=0.0)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

有没有办法在2.X中重现1.X图?我对后端并不熟悉,但mpl.rcParams['hatch.color'] = 'b'关键字的变化color, edgecolor并没有帮助.

在此先感谢您帮助清除这一点.

python plot matplotlib python-2.7

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

绘制散点图最密集区域的轮廓

我正在生成一个约30万个数据点的散点图,并且我遇到的问题是它在一些地方过于拥挤,没有结构可见 - 所以我有一个想法!

我希望绘图生成最密集部分的等高线图,并使用scatter()数据点留下密度较小的区域.

所以我试图为每个数据点单独计算最近邻距离,然后当该距离达到特定值时,绘制轮廓并填充它,然后当它达到更大的值(密度更小)时,只需执行分散...

我一直在努力和失败几天,我不确定传统的轮廓图在这种情况下是否有效.

我会提供代码,但它太乱了,可能会混淆问题.它的计算密集程度很高,如果它确实有效,它可能会崩溃我的电脑!

谢谢大家!

ps我一直在寻找并寻找答案!我确信它出现的所有结果都不可能!

编辑:所以这个想法是看看300k样本结构中某些特定点的位置.这是一个示例情节,我的点分散在三个差异中.颜色. 我的分散版数据

我将尝试从我的数据中随机抽取1000个数据点并将其作为文本文件上传.干杯堆叠器.:)

编辑:嘿,这里有一些示例数据1000行 - 只有两列[X,Y](或上[g-i,i]图)空格分隔.谢谢你们! 数据

python numpy matplotlib contour scipy

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

如何修剪.fits图像并保留世界坐标以便在astropy Python中绘图?

这个问题一直困扰着我.我正在尝试处理一些.fits文件形式的大量数据(大约11000x9000像素).我需要做的是为天空中的许多物体创建一个"放大的"RA/Dec坐标图(理想情况下使用astropy.wcs),其中包含来自一个拟合文件和灰度(或来自另一个的热图)的轮廓.

我的问题是,每当我从图像切片数据(到我感兴趣的区域)时,我就失去了与天空坐标的关联.这意味着切片图像不在正确的位置.

我已经改编了一个来自astropy文档的示例来您节省数据的痛苦.(注意:我希望轮廓覆盖的区域比图像更多,无论解决方案是什么,都应该对两个数据都有效)

RH图中的

这是我遇到的代码:

from matplotlib import pyplot as plt
from astropy.io import fits
from astropy.wcs import WCS
from astropy.utils.data import download_file
import numpy as np

fits_file = 'http://data.astropy.org/tutorials/FITS-images/HorseHead.fits'
image_file = download_file(fits_file, cache=True)
hdu = fits.open(image_file)[0]
wmap = WCS(hdu.header)
data = hdu.data

fig = plt.figure()
ax1 = fig.add_subplot(121, projection=wmap)
ax2 = fig.add_subplot(122, projection=wmap)
# Scale input image
bottom, top = 0., 12000.
data = (((top - bottom) * (data - data.min())) / (data.max() - …
Run Code Online (Sandbox Code Playgroud)

python astronomy python-2.7 astropy

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

找到与柱状图最大值对应的x值

我重新措辞,以确认SO的想法(感谢Michael0x2a)

我一直试图找到与绘制的直方图的最大值相关联的x值matplotlib.pyplot.起初我甚至无法使用代码找到如何访问直方图的数据

import matplotlib.pyplot as plt

# Dealing with sub figures...
fig = plt.figure()
ax = fig.add_subplot(111)
ax.hist(<your data>, bins=<num of bins>, normed=True, fc='k', alpha=0.3)

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

然后在网上做了一些阅读(并围绕这些论坛),我发现你可以"提取"直方图数据,如下所示:

n, bins, patches = ax.hist(<your data>, bins=<num of bins>, normed=True, fc='k', alpha=0.3)
Run Code Online (Sandbox Code Playgroud)

基本上我需要知道如何找到bins最大值n对应的值!

干杯!

python matplotlib

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

标签 统计

python ×5

matplotlib ×3

numpy ×2

python-2.7 ×2

arrays ×1

astronomy ×1

astropy ×1

contour ×1

plot ×1

scipy ×1