我router.navigate在同一页面上调用一些查询字符串参数.在这种情况下,ngOnInit()不会打电话.它是默认还是我需要添加其他内容?
我正在使用Seaborn的FacetGrid类来使用该heatmap功能绘制一组矩阵,也来自Seaborn.但是,我无法调整这些子图的纵横比.这是一个例子:
import seaborn as sns
import numpy as np
import pandas as pd
# Generate a set of sample data
np.random.seed(0)
indices = pd.MultiIndex.from_product((range(5), range(5), range(5)), names=('label0', 'label1', 'label2'))
data = pd.DataFrame(np.random.uniform(0, 100, size=len(indices)), index=indices, columns=('value',)).reset_index()
def draw_heatmap(*args, **kwargs):
data = kwargs.pop('data')
d = data.pivot(index=args[1], columns=args[0], values=args[2])
sns.heatmap(d, **kwargs)
fg = sns.FacetGrid(data, col='label0')
fg.map_dataframe(draw_heatmap, 'label1', 'label2', 'value', cbar=False)
Run Code Online (Sandbox Code Playgroud)
这会产生这样的图像:
注意矩阵图的元素是矩形的,而不是方形的.如果我做一个图(无FacetGrid),我可以通过选项square=True来sns.heatmap使情节广场.但是,如果我把它放在参数中map_dataframe,我得到这个结果:
fg = sns.FacetGrid(data, col='label0')
fg.map_dataframe(draw_heatmap, 'label1', 'label2', 'value', …Run Code Online (Sandbox Code Playgroud) 我最近尝试使用该命令将我的Anaconda安装的根环境从Python 3.4更新到Python 3.5
conda install python=3.5
Run Code Online (Sandbox Code Playgroud)
做完之后,我跑了
conda update --all python=3.5
Run Code Online (Sandbox Code Playgroud)
希望它能将所有其他软件包更新为Python 3.5版本,但它失败并显示以下错误消息:(请注意,我在此列表中间省略了许多软件包)
The following specifications were found to be in conflict:
- backports_abc -> python 2.7*|3.4*
- certifi -> python 2.7*|3.4*
- colorama -> python 2.7*|3.4*|3.5*
- conda -> python 2.7*|3.4*|3.5*
- conda-env -> python 2.7*|3.4*
- decorator -> python 2.7*|3.4*
- django -> python 2.7*|3.4*
- ecdsa -> python 2.7*|3.4*
- flask -> python 2.7*|3.4*
- greenlet -> python 2.6*|2.7*|3.3*|3.4*|3.5*
- ipykernel -> python 2.7*|3.4*
[...many more...]
- …Run Code Online (Sandbox Code Playgroud) 我有一个包含一些 Cython 扩展的 Python 3.6 包。让我们假设它的内容如下:
# example/example.pyx
def add(int a, int b):
return a + b
Run Code Online (Sandbox Code Playgroud)
我可以使用setuptools这个脚本来构建它
# setup.py
from setuptools import setup, Extension
from Cython.Build import cythonize
example_ext = Extension(
name='example.example',
sources=['example/example.pyx'],
)
setup(
name='Example package',
packages=['example'],
ext_modules=cythonize([example_ext]),
)
Run Code Online (Sandbox Code Playgroud)
现在我可以添加一个单元测试:
# example/tests/test_example.py
import unittest
from example.example import add
class TestExample(unittest.TestCase):
def test_add(self):
result = add(4, 5)
self.assertEqual(result, 9)
Run Code Online (Sandbox Code Playgroud)
但是,如果我运行python -m unittest discover,则测试失败并显示 ,ImportError因为它找不到已编译的 Cython 模块。即使我已经使用python setup.py build_ext.
我发现使测试工作的唯一方法是使用 就地构建 Cython …
我有一组数据,我正在尝试使用 seaborn 中的 FacetGrid 绘制这些数据。每个数据点都有一个与之相关的权重,我想在网格的每个方面绘制一个加权直方图。
例如,假设我有以下(随机创建的)数据集:
import seaborn as sns
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
d = pd.DataFrame(np.array([np.random.randint(0, 6, 5000),
np.random.normal(0, 1., 5000),
np.random.uniform(0, 1, 5000)]).T,
columns=('cat', 'val', 'weight'))
Run Code Online (Sandbox Code Playgroud)
这些数据的结构如下:
cat val weight
0 0 -0.844542 0.668081
1 0 -0.521177 0.521396
2 1 -1.160358 0.788465
3 0 -0.394765 0.115242
4 5 0.735328 0.003495
Run Code Online (Sandbox Code Playgroud)
通常,如果我没有权重,我会这样绘制:
fg = sns.FacetGrid(d, col='cat', col_wrap=3)
fg.map(plt.hist, 'val')
Run Code Online (Sandbox Code Playgroud)
这构成了一个直方图网格,其中每个直方图显示val了类别的一个值的变量分布cat。
我想做的是对每个直方图进行加权。如果我用 Matplotlib 制作单个直方图,我会这样做:
plt.hist(d.val, weights=d.weight)
Run Code Online (Sandbox Code Playgroud)
我尝试将 weights …
我正在尝试将Python包装器编译为我编写的小型C ++库。我编写了以下setup.py脚本以尝试setuptools用于编译包装器:
from setuptools import setup, Extension
import numpy as np
import os
atmcmodule = Extension(
'atmc',
include_dirs=[np.get_include(), '/usr/local/include'],
libraries=['mcopt', 'c++'], # my C++ library is at ./build/libmcopt.a
library_dirs=[os.path.abspath('./build')],
sources=['atmcmodule.cpp'],
language='c++',
extra_compile_args=['-std=c++11', '-v'],
)
setup(name='tracking',
version='0.1',
description='Particle tracking and MC optimizer module',
ext_modules=[atmcmodule],
)
Run Code Online (Sandbox Code Playgroud)
但是,当我python setup.py build在OS X El Capitan上运行时,clang抱怨找不到某些C ++标准库头文件:
In file included from atmcmodule.cpp:7:
In file included from ./mcopt.h:11:
In file included from ./arma_include.h:4:
/usr/local/include/armadillo:54:12: fatal error: 'initializer_list' file not …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的mac中使用opencv和python来匹配对象.
但是我收到了这个错误.
OpenCV: Cannot Use FaceTime HD Kamera (Yerle?ik)
OpenCV: camera failed to properly initialize!
Segmentation fault: 11
Run Code Online (Sandbox Code Playgroud)
这也是我的代码.
import numpy as np
import cv2
import time
ESC=27
camera = cv2.VideoCapture(0)
orb = cv2.ORB_create()
while True:
ret, imgCamColor = camera.read()
imgCamGray = cv2.cvtColor(imgCamColor, cv2.COLOR_BGR2GRAY)
kpCam = orb.detect(imgCamGray,None)
kpCam, desCam = orb.compute(imgCamGray, kpCam)
bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True)
matches = bf.match(desCam,desTrain)
good = []
cv2.imshow('Camara', result)
key = cv2.waitKey(20)
if key == ESC:
break
cv2.destroyAllWindows()
camera.release()
Run Code Online (Sandbox Code Playgroud)
我也尝试了一些东西.但它不起作用.
python ×6
seaborn ×2
setuptools ×2
anaconda ×1
angular ×1
c++ ×1
cython ×1
histogram ×1
macos ×1
matplotlib ×1
navigateurl ×1
ngoninit ×1
opencv ×1
orb ×1
plot ×1
python-3.5 ×1