小编Dan*_*wer的帖子

如何在matplotlib中绘制滞后?

我试图描绘随着时间的推移干草叉分叉的发展.xy之间的关系近似线性,但最终S呈S 形.最终的关系不是一个功能; 某些x值有多个y值.

Matplotlib为表面图做了很好的线框,但这些表面图似乎无法处理非函数.
是否有另一种方式来绘制这种关系的表面?(如果可能的话,我不想要一个坚实的形状.)

目前我的数据是零数组,其中1s表示表面位置的近似值.我已经包含了一个非常小的样本数据集,以及将绘制其位置的示例代码.我如何"加入点"?
我的实际数据集较大(500x200x200)并且各不相同,因此我需要开发一个灵活的系统.

这是最终的数字可能是这样的:

干草叉分叉

阅读mplot3d文档这里似乎我可能需要将我的数据转换为2D数组.如果是这种情况,请为此提供一种方法,如果可能的话请告诉我这些数组代表什么.

我非常感谢任何有助于推进此事的意见/建议.

import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt

sample_data = np.array([
[[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
 [ 1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
 [ 0.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
 [ 0.,  0., …
Run Code Online (Sandbox Code Playgroud)

python matplotlib mplot3d

10
推荐指数
1
解决办法
1514
查看次数

IPython Notebook:在下一步之前“实时”显示循环图像

在ipython / jupyter笔记本中运行以下代码:

for i in range(4):

    # any figure
    fig = plt.figure()
    ax = fig.add_subplot(111)
    ax.plot(range(i), range(i))
    fig.show()

    # do something that takes a long time:
    a = fib(500000)     
Run Code Online (Sandbox Code Playgroud)

导致所有图形同时(在第四个循环之后)可见。

如何更改设置,以便一旦计算出这些数字就可以看到它们(在for循环的下一步之前)?

注意:我正在使用%matplotlib内联

for-loop matplotlib ipython-notebook jupyter

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

cimport给出致命错误:找不到'numpy/arrayobject.h'文件

我正在尝试自学Cython但是在访问numpy时遇到了问题.当我使用'cimport'时,问题似乎就出现了.例如,导入以下函数时:

cimport numpy
def cy_sum(x):
    cdef numpy.ndarray[int, ndim=1] arr = x 
    cdef int i, s = 0
    for i in range(arr.shape[0]):
            s += arr[i] 
    return s
Run Code Online (Sandbox Code Playgroud)

我收到错误:

/Users/Daniel/.pyxbld/temp.macosx-10.6-x86_64-2.7/pyrex/test.c:314:10: fatal error: 'numpy/arrayobject.h' file not found

include "numpy/arrayobject.h"

1 error generated.
Run Code Online (Sandbox Code Playgroud)

任何关于如何解决这个问题的简单说明将非常感谢!

python numpy cython

4
推荐指数
1
解决办法
4597
查看次数

是否可以在matplotlib中自动生成多个子图?

是否可以在matplotlib中自动生成多个子图?我想要自动化的过程的一个例子是:

import matplotlib.pyplot as plt
figure = plt.figure()
ax1 = figure.add_subplot(2, 3, 1)
ax2 = figure.add_subplot(2, 3, 2)
ax3 = figure.add_subplot(2, 3, 3)
ax4 = figure.add_subplot(2, 3, 4)
ax5 = figure.add_subplot(2, 3, 5)
ax6 = figure.add_subplot(2, 3, 6)
Run Code Online (Sandbox Code Playgroud)

子图需要唯一的名称,因为这将允许我做以下的事情:

for ax in [ax1, ax2, ax3, ax4, ax5, ax6]:
    ax.set_title("example")
Run Code Online (Sandbox Code Playgroud)

非常感谢.

另外:是否有任何功能可以自动生成多个子图?如果我需要重复上述过程100次怎么办?我是否必须输出每个ax1到ax100?

matplotlib python-2.7 subplot

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