- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些问题与使用 mplot3D 在 Python 中创建一个简单的线图有关,其中填充了图下方的区域。我在 RedHatEnterprise 7.2、matplotlib 1.2.0 和 numpy 1.7.2 上使用 Python 2.7.5。
使用下面的代码,我能够生成一个线图。这是按预期显示的,绘图的开始/结束由导入数据集的限制设置。
然后我尝试使用 Bart 从 Plotting a series of 2D plots projected in 3D in a perspectival way 给出的答案填充线图和 -0.1 之间的区域.然而,这有效,填充区域超出了数据集的限制。从链接运行示例时也是如此。
此屏幕截图显示了生成的绘图,其中填充区域超出了设置的轴限制。
代码如下:
from numpy import *
import matplotlib.pylab as plt
from mpl_toolkits.mplot3d import Axes3D
x,y = genfromtxt("data.dat",unpack=True)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.add_collection3d(plt.fill_between(x,y,-0.1, color='orange', alpha=0.3,label="filled plot"),1, zdir='y')
ax.plot(x,y,1,zdir="y",label="line plot")
ax.legend()
ax.set_xlim3d(852.353,852.359)
ax.set_zlim3d(-0.1,5)
ax.set_ylim3d(0,2)
ax.get_xaxis().get_major_formatter().set_useOffset(False)
plt.show()
最佳答案
我不知道如何让 fill_between
以您想要的方式工作,但我可以提供使用 3D 多边形
的替代方法:
from numpy import *
import matplotlib.pylab as plt
from mpl_toolkits.mplot3d import Axes3D
from mpl_toolkits.mplot3d.art3d import Poly3DCollection # New import
#x,y = genfromtxt("data.dat",unpack=True)
# Generated some random data
w = 3
x,y = np.arange(100), np.random.randint(0,100+w,100)
y = np.array([y[i-w:i+w].mean() for i in range(3,100+w)])
z = np.zeros(x.shape)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
#ax.add_collection3d(plt.fill_between(x,y,-0.1, color='orange', alpha=0.3,label="filled plot"),1, zdir='y')
verts = [(x[i],z[i],y[i]) for i in range(len(x))] + [(x.max(),0,0),(x.min(),0,0)]
ax.add_collection3d(Poly3DCollection([verts],color='orange')) # Add a polygon instead of fill_between
ax.plot(x,z,y,label="line plot")
ax.legend()
ax.set_ylim(-1,1)
plt.show()
上面的代码生成了一些随机数据。从中构建顶点并绘制具有这些顶点的多边形。这将为您提供您想要的情节(但不使用 fill_between
)。结果是:
关于python - mplot3D fill_between 超出轴限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36737053/
有没有办法更改颜色图在 mplot3d 曲面图中绑定(bind)的值? 例如,我试图表示物体的表面温度: import matplotlib.pyplot as plt import numpy as
我正在使用 mPlot 函数将 morris javascript 库与 R 统计包链接起来。如何使用此功能的示例如下: https://github.com/ramnathv/rCharts/tre
我是一名优秀的程序员,十分优秀!