我需要创建一个绘制直线而不是步长或条形图的直方图.我正在使用python 2.7下面的plt.hist函数绘制了一条阶梯线,并且这些分箱在plt.plot函数中没有排列.
import matplotlib.pyplot as plt
import numpy as np
noise = np.random.normal(0,1,(1000,1))
(n,x,_) = plt.hist(noise, bins = np.linspace(-3,3,7), histtype=u'step' )
plt.plot(x[:-1],n)
Run Code Online (Sandbox Code Playgroud)
我需要该行与bin中心的每个bin的计数相关联,就好像有一个histtype = u'line'标志与align = u'mid'标志一起去
我正在使用带有Jupyter Notebook的Python 2.7.x,matplotlib和%pylab后端以及内联标志
%pylab inline
来打印活动单元格下方的图像.我希望能够将光标移动到图像上并知道它的位置和像素值一个例子可能是:(x,y,val)=(123,285,230)但我并不特别关注这个例子的任何细节.
鉴于下面的代码,python中的cv2.dilate和cv2.erode函数返回我发送给它的相同图像.我究竟做错了什么?我正在使用OpenCV3.0.0.和iPython 2.7上的numpy1.9.0
im = np.zeros((100,100), dtype=np.uint8)
im[50:,50:] = 255
dilated = cv2.dilate(im, (11,11))
print np.array_equal(im, dilated)
Run Code Online (Sandbox Code Playgroud)
哪个回报:
True
Run Code Online (Sandbox Code Playgroud)
{Edited}另一个扩展帖子代表了内核数据类型的问题.这篇文章实际上反映了函数调用错误.
我在 MacOS 上的 Atom 中运行 Python3。在 Atom 内部,我可以运行 Hydrogen 包,我可以使用切换检查器来提取某些函数(如排序和枚举)的文档字符串,但对于许多其他内置和导入函数,如appendand insert,我得到一个No Introspection Available错误。文档字符串可用的函数似乎都是海蓝色的,而所有其他函数都是蓝色的。如何获取所有函数的文档字符串?
注意:我将此添加到我的 keymap.cson 但我仍然遇到相同的错误
'atom-text-editor:not([mini])':
'shift-tab': 'hydrogen:toggle-inspector'
Run Code Online (Sandbox Code Playgroud) 我在Python工作.我的字典看起来像这样:
score = {'a':{4:'c', 3:'d'}, 'b':{6:'c', 3:'d'}}
Run Code Online (Sandbox Code Playgroud)
我需要这样订购:
rank = [{a:3, b:6}, {a:4, b:3}]
Run Code Online (Sandbox Code Playgroud)
在具有排他键值的最大组合的子字典在第一元素中的情况下,排他键值的第二最大组合在第二元素中,依此类推.最大的组合逻辑是:1.从每个字典中获取最大组合键(总和)(在这种情况下,它将是a-> 4:'c'和b-> 6:'d'.删除这些值从字典中获取下一个最大的键组合(在这种情况下,它将是a-> 4:'c'和b-> 3:'d').这应该持续到原始字典为空.
它是独占的,因为一旦从原始字典中使用了一次值,就应将其删除,或排除在以后的任何组合中再次使用.
我尝试过所有我认识的不同方法,但从算法上来说,我错过了一些东西.
我试图了解这是如何工作的:
my_dict = {'a':2,'b':1}
min(my_dict, key=my_dict.get)
Run Code Online (Sandbox Code Playgroud)
产生
b
Run Code Online (Sandbox Code Playgroud)
这是一个非常酷的功能,我想要更好地理解.
根据文档
min(iterable [,key])返回可迭代中的最小项或两个或多个参数中的最小值...可选的key参数指定一个单参数排序函数,类似于list.sort().键参数(如果提供)必须采用关键字形式(例如,min(a,b,c,key = func)).
我在哪里可以找到有关可用功能的更多信息?在字典的情况下,是否所有字典方法?
编辑:我今天遇到过这个:
max(enumerate(array_x), key=operator.itemgetter(1))
Run Code Online (Sandbox Code Playgroud)
仍在寻找有关min/max的可用关键字函数的信息
我想使用 scipy.signal.find_peaks 来查找某些 2D 数据中的峰值,但该函数默认忽略所有边缘峰值(出现在数组左侧或右侧边界上的峰值)。有没有办法在结果中包含边缘峰值?
例如,我想要这个代码:
find_peaks([5,4,3,3,2,3])
Run Code Online (Sandbox Code Playgroud)
生产
[0,5]
Run Code Online (Sandbox Code Playgroud)
而是它产生
[]
Run Code Online (Sandbox Code Playgroud) 我正在尝试从 tesseract-ocr 为 python 安装 tesseract 绑定,但安装后出现以下错误:
----> 1 import tesserocr
2
ImportError: /home/dsgoodri/anaconda2/lib/python2.7/site-packages/zmq/backend/cython/../../../../.././libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/lib/libtesseract.so.3)
Run Code Online (Sandbox Code Playgroud)
我在这里使用了存储库:https : //pypi.python.org/pypi/tesserocr 我在 Ubuntu 16.04LTS 上使用 anaconda for Python 2.7。我该如何解决这个问题?
我正在尝试绘制条形图并将标签附加到每个条形图。我可以使用以下代码绘制图表:
y = np.array([ 0.06590843, 0.10032079, 0.03295421, 0.12277632, 0.04257801,
0.00641586, 0.05774278, 0.15106445, 0.13852435, 0.03732867,
0.05570137, 0.11548556, 0.22834646, 0.09477982, 0.12569262,
0.09711286, 0.05920093, 0.03295421, 0.11286089, 0.05453485,
0.08486439, 0.09857101, 0.00641586])
x= ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '20', '40', '60', '80', '100', '300', '500', '700', '900', '1000', '1300', '1512']
plt.figure(figsize = (16, 2))
plt.bar(range(23), y)
Run Code Online (Sandbox Code Playgroud)
但是当我尝试添加标签时:
plt.xticks(x)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
AttributeError: 'NoneType' object has no attribute 'seq'
Run Code Online (Sandbox Code Playgroud)
如果我做:
plt.bar(x, y)
Run Code Online (Sandbox Code Playgroud)
我在后端使用%matplotlib内联。