小编use*_*975的帖子

matplotlib在3D中轮廓标签

有没有办法在3D图中放置轮廓标签?Clabel显然没有用3D实现

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

x,y = np.meshgrid(np.linspace(-1,1,10),np.linspace(-1,1,10))
z=-(x**2+y**2)

fig,ax = plt.subplots()
C=ax.contour(x,y,z)
ax.clabel(C)

fig = plt.figure()
ax = fig.add_subplot(111,projection='3d')
C=ax.contour(x,y,z,zdir='z',offset=-2)
ax.clabel(C)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 在此输入图像描述

python 3d matplotlib

8
推荐指数
1
解决办法
549
查看次数

插值在python中没有负值

我一直试图从这些值创建一条平滑线,但我的结果中不能有负值.到目前为止,我尝试的所有方法都给出了负值.会爱一些帮助.

import matplotlib.pyplot as plt
from scipy.interpolate import UnivariateSpline
import numpy as np
y = np.asarray([0,5,80,10,1,10,40,30,80,5,0])
x = np.arange(len(y))

plt.plot(x, y, 'r', ms=5)
spl = UnivariateSpline(x, y)
xs = np.linspace(0,len(y)-1, 1000)
spl.set_smoothing_factor(2)

plt.plot(xs, spl(xs), 'g', lw=3)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

python interpolation numpy matplotlib scipy

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

numpy.round的奇怪行为

round()面对x.5数字,Python 似乎总是四舍五入:

print round(1.5),round(2.5),round(3.5),round(4.5)
>>> 2.0 3.0 4.0 5.0
Run Code Online (Sandbox Code Playgroud)

但是numpy.round()似乎不一致:

import numpy as np
print np.round(1.5),np.round(2.5),np.round(3.5),np.round(4.5)
>>> 2.0 2.0 4.0 4.0
Run Code Online (Sandbox Code Playgroud)

在某些情况下,这可能会导致错误。这是错误还是我错过了什么?

python numpy rounding python-2.7

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

标签 统计

python ×3

matplotlib ×2

numpy ×2

3d ×1

interpolation ×1

python-2.7 ×1

rounding ×1

scipy ×1