小编had*_*i k的帖子

在Jupyter Ipython中更改matplotlib的默认后端

现在matplotlib的默认后端是 'module://ipykernel.pylab.backend_inline'

我想切换到TkAGG.我编辑了matplotlibrc文件

~/anaconda2/lib/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc/

加上

backend : TkAgg

它确实切换了backendpython而不是Jupyter.

现在,每次我开始使用新笔记本时Jupyter,我都必须这样做%matplotlib tk,不是有一个很好的方法来制作TkAGG默认的后端Jupyter吗?

python matplotlib jupyter

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

使用matplotlib和np.linalg绘制协方差矩阵的特征向量

我试图绘制从一堆点(3D中的多面体)接收的特征向量和协方差矩阵.这就是我做的.

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from numpy import linalg as la
from matplotlib.patches import FancyArrowPatch
from mpl_toolkits.mplot3d import proj3d

class Arrow3D(FancyArrowPatch):
    def __init__(self, xs, ys, zs, *args, **kwargs):
        FancyArrowPatch.__init__(self, (0,0), (0,0), *args, **kwargs)
        self._verts3d = xs, ys, zs

    def draw(self, renderer):
        xs3d, ys3d, zs3d = self._verts3d
        xs, ys, zs = proj3d.proj_transform(xs3d, ys3d, zs3d, renderer.M)
        self.set_positions((xs[0],ys[0]),(xs[1],ys[1]))
        FancyArrowPatch.draw(self, renderer)
##################################################################################################
#here i start with drawing the actual polyhedron and the vector 
##################################################################################################
#generate num …
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib

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

删除 Axes3d 中的空格(matplotlib)

我正在用一堆多边形绘制一个表面。绘图非常简单,如下所示。

def plotSurface(cell, numOfLayer, name=None, alpha = 0.5):
    #import the libraries
    from mpl_toolkits.mplot3d import Axes3D
    import matplotlib as mpl
    from mpl_toolkits.mplot3d.art3d import Poly3DCollection
    import numpy as np
    import matplotlib.pyplot as plt
    #limits of the plot
    radius = (numOfLayer>1)*(np.sqrt(3.)*(numOfLayer-1)-Length)+Length#the radius of circle to be projected on
    #plotting part
    fig = plt.figure(frameon=False,figsize=(12,10))
    ax = Axes3D(fig)
    ax.set_xlim((-2*radius,2*radius))
    ax.set_ylim((-2*radius,2*radius))
    ax.set_zlim((-0.5*radius,2*radius))
    ax.axis('off')
    #fig = plt.figure()
    #ax = fig.gca(projection='3d')
    ##iterating through the cell##
    for stuff happening here : verts are the polygon vertices
          #adding to 3d …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

使用pip更新virtualenv中的matplotlib

我试图更新我matplotlib的virtualenv现在似乎一切都崩溃了:(
我到现在为止做的基本上是,

source ~/myenv/bin/activate
pip install -U matplotlib
Run Code Online (Sandbox Code Playgroud)

我以前matplotlib 1.3现在如果我激活py虚拟环境并检查matplotlib version它显示2.1

但我无法Axes3D从matplotlib 导入.

>>> import importlib
>>> importlib.import_module('mpl_toolkits.mplot3d').__path__
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/nld/python-2.7.6-freya/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/home/jkhadka/vir_python/lib/python2.7/site-packages/mpl_toolkits/mplot3d/__init__.py", line 6, in <module>
    from .axes3d import Axes3D
  File "/home/jkhadka/vir_python/lib/python2.7/site-packages/mpl_toolkits/mplot3d/axes3d.py", line 32, in <module>
    from matplotlib.cbook import _backports
ImportError: cannot import name _backports
Run Code Online (Sandbox Code Playgroud)

我在linux平台上工作并使用Python 2.7.

我看到了进一步的问题,

如果我只是打开虚拟python,而不激活virtualenv,我得到 matplotlib 2.1

$:~> myenv/bin/python 
Python 2.7.6 …
Run Code Online (Sandbox Code Playgroud)

python pip matplotlib virtualenv

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

将点投射到由法线和点给出的平面上

我正在使用以下函数尝试将一堆顶点投影到一个平面上.基本上将多面体映射到多边形.我的平面由法向量和一个点(这里称为质心)定义.

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from numpy import linalg as la
#######################################################################################################
#this part is for drawing the vector arrow
#copy pasted
#http://stackoverflow.com/questions/22867620/putting-arrowheads-on-vectors-in-matplotlibs-3d-plot
#######################################################################################################
from matplotlib.patches import FancyArrowPatch
from mpl_toolkits.mplot3d import proj3d
from mpl_toolkits.mplot3d.art3d import Poly3DCollection
import matplotlib.cm as cm#for color selection
import itertools
class Arrow3D(FancyArrowPatch):
    def __init__(self, xs, ys, zs, *args, **kwargs):
        FancyArrowPatch.__init__(self, (0,0), (0,0), *args, **kwargs)
        self._verts3d = xs, ys, zs

    def draw(self, renderer):
        xs3d, ys3d, zs3d = self._verts3d
        xs, …
Run Code Online (Sandbox Code Playgroud)

python math numpy

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

在numpy中连接两个多维数组

我有两个数组AB

>> np.shape(A)
>> (7, 6, 2)
>> np.shape(B)
>> (6,2)
Run Code Online (Sandbox Code Playgroud)

现在,我要连接的两个阵列,从而A扩展到(8,6,2)A[8] = B

我试过 np.concatenate()

>> np.concatenate((A,B),axis = 0)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-40-d614e94cfc50> in <module>()
----> 1 np.concatenate((A,B),axis = 0)

ValueError: all the input arrays must have same number of dimensions  
Run Code Online (Sandbox Code Playgroud)

np.vstack()

>> np.vstack((A,B))
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-41-7c091695f277> in <module>()
----> 1 np.vstack((A,B))
//anaconda/lib/python2.7/site-packages/numpy/core/shape_base.pyc in vstack(tup)
    228 
    229     """
--> 230 …
Run Code Online (Sandbox Code Playgroud)

python numpy concatenation

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

在Python中绘制3D随机游走

我想在Python中绘制三维随机游走.与下面给出的图片相似的东西.你能给我一个工具吗?我试图使用matplotlib,但对如何做到这一点感到困惑.
现在我有一个lattice零的阵列,其基本上是X*Y*Z二维并保持其中随机游走已经走过,把信息01在每个(x,y,z)该随机游走已加强.

如何创建步行的3D视觉效果? 在此输入图像描述

python matplotlib random-walk

0
推荐指数
1
解决办法
2384
查看次数