小编Gre*_*reg的帖子

matplotlib中的n个bin和补丁是什么?

我在matplotlib教程中读到了这个:

n, bins, patches = plt.hist(x, 50, normed=1, facecolor='g', alpha=0.75)

我想知道什么是n,箱子和补丁

matplotlib

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

完全矢量化 numpy polyfit

概述

我在使用 polyfit 时遇到了性能问题,因为它似乎无法接受广播数组。我从这篇文章中知道,y如果您使用 ,相关数据可以是多维的numpy.polynomial.polynomial.polyfit。然而,x维度不能是多维的。有没有办法解决?

动机

我需要计算一些数据的变化率。为了与实验相匹配,我想使用以下方法:获取数据yx,对于数据的短部分拟合多项式,然后使用拟合系数作为变化率的估计。

插图

import numpy as np
import matplotlib.pyplot as plt

n = 100
x = np.linspace(0, 10, n)
y = np.sin(x)

window_length = 10
ydot = [np.polyfit(x[j:j+window_length], y[j:j+window_length], 1)[0] 
                                  for j in range(n - window_length)]
x_mids = [x[j+window_length/2] for j in range(n - window_length)]

plt.plot(x, y)
plt.plot(x_mids, ydot)

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

在此输入图像描述

蓝线是原始数据(正弦曲线),绿线是一阶微分(余弦曲线)。

问题

为了对其进行矢量化,我执行了以下操作:

window_length = 10
vert_idx_list = np.arange(0, len(x) - window_length, 1) …
Run Code Online (Sandbox Code Playgroud)

python numpy

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

无需打开浏览器即可在笔记本中运行所

我有一个Jupyter笔记本,可以生成一些作品.我希望能够将笔记本作为Makefile的一部分运行.那么有没有办法指导Jupyter

1)启动K =内核

2)打开特定的笔记本

3)执行"全部运行"

4)关闭内核

我想安全性会有问题,但我可以将笔记本标记为可信任吗?

我已经寻求帮助,但即使让笔记本自动运行全部似乎也是一个问题.

对我来说,这是一个重要的特性,因为一旦探索部分的工作结束(笔记本电脑非常棒),快速过渡到可重现的部分会很好!

ipython-notebook jupyter

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

两行的单个图例项目

我想生成一个自定义matplotlib图例,对于每个条目,每个标签都有两行,如下例所示:

在此处输入图片说明

通过一些研究,似乎可以简单地提供两个handles' to thefig.legend(handles,labels)`方法(请参阅示例)。但是,如下面的示例代码所示,这只是将线彼此重叠。

import matplotlib.lines as mlines
import matplotlib.pyplot as plt

blue_line = mlines.Line2D([], [], color='r')
green_line = mlines.Line2D([], [], linestyle='--', color='k')
fig, ax = plt.subplots(figsize=(5, 5))
handles = [(blue_line,green_line)]
labels = ['test'] 
fig.legend(handles=handles, labels=labels, fontsize=20)  
Run Code Online (Sandbox Code Playgroud)

因此,我想我要么需要转换一个Line2D对象,要么生成一个Patch包含两行的新对象。但是,我不知道该怎么做-是否有简单的方法来组合两个补丁,还是错过了组合手柄的技巧?

语境

如果这对其他人有帮助,上下文是我正在使用此处讨论的技术,该技术是双轴,其颜色被着色为可以同时显示两个不同的图。但是,这两行具有相同的标签,因此为什么要将它们组合在一起。

python matplotlib

3
推荐指数
1
解决办法
2954
查看次数

scipy中binned_statistic的范围

嗨,我正在尝试使用以下方法在频率分档中存储一些数据:

import scipy as sc
sc.stats.binned_statistic([0, 1, 0, 0 ,1], py.arange(1), 
                          statistic="count", bins=2, range=(0, 2.0) )
Run Code Online (Sandbox Code Playgroud)

这会产生一个错误(如下),如果没有range参数,则不会发生错误.这个函数的文档建议range=(float, float)应该做的伎俩.

谁能告诉我这里缺少什么?

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-136-1cf57b135132> in <module>()
  1 
 ----> 2 sc.stats.binned_statistic([0, 1, 0, 0 ,1], py.arange(1), statistic="count",    bins=2, range=(0,2))

/usr/lib/python2.7/dist-packages/scipy/stats/_binned_statistic.pyc in binned_statistic(x, values, statistic, bins, range)
      90 
      91     medians, edges, xy = binned_statistic_dd([x], values, statistic,
 ---> 92                                              bins, range)
      93 
      94     return medians, edges[0], xy

/usr/lib/python2.7/dist-packages/scipy/stats/_binned_statistic.pyc in binned_statistic_dd(sample, values, statistic, bins, range) …
Run Code Online (Sandbox Code Playgroud)

python scipy

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

标签 统计

python ×3

matplotlib ×2

ipython-notebook ×1

jupyter ×1

numpy ×1

scipy ×1