我正在处理x,y和z的数据,以得到一个高低的地形图。Z是位移传感器。我需要用渐变绘制地形图。我现在有一个3D散点图和一个使用matplotlib小部件的等高线图。这些工作很好,但线框地图或顶图地图将工作最好。无论是2D还是3D工作也是如此。提前谢谢你!
当前产出:
我所努力达到的目标的例子:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import holoviews as hv
from bokeh.models import ColumnDataSource
from mpl_tool
我有一些代码,它使用matplotlib的scatter和tight_layout生成三维散点图,请参阅下面的简化代码:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import proj3d
fig = plt.figure()
ax = fig.gca(projection='3d')
N = 100
x = np.random.random(N)
y = np.random.random(N)
z = np.random.random(N)
ax.scat
我正在尝试用matplotlib绘制3D散点图,问题是我不能改变标记的大小,我有这个
scat = plt.scatter([boid_.pos[0] for boid_ in flock],
[boid_.pos[1] for boid_ in flock],
[boid_.pos[2] for boid_ in flock],
marker='o', s=5)
但是我得到了一个错误
TypeError: scatter() got multiple value
当使用matplotlib的scatter模块绘制3D上的散乱数据时,选项color和marker的行为不像预期的那样,例如,color='r', marker='o'生成被红色圆圈包围的蓝点,而不是填充的红色圆圈。
为什么会发生这种事?
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
N = 100
x = 0.9 * np.random.rand(N)
y = 0.9 * np.random.rand(N)
z = 0.9
我有一个3Dnumpy数组,其尺寸为1400x1400x29。然而,数据是4D的,因为对于每个x,y,z都有一个不同的值(第四维)。我相信它可以像下面这样做。 import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
//some calculation that creates a 3D array called "cube"
fig = plt.figure()
ax = fig.add_subplot(111, projection='
我正在编写一个在matplotlib中绘制3D散点图的接口,我想从python脚本访问数据。对于2D散点图,我知道过程如下:
import numpy as np
from matplotlib import pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
h = ax.scatter(x,y,c=c,s=15,vmin=0,vmax=1,cmap='hot')
data = h.get_offsets()
通过上面的代码,我知道数据将是一个用我的(x,y)数据填充的(N,2) numpy数组。当我尝试对3
我有一个3D数据立方体,我使用循环散点图。我希望散点是立方体索引,散点的颜色是值。下面是生成所有一种颜色的代码。如何根据值生成颜色?
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
%matplotlib
# I have a 3D array of numbers of unknown shape containing unknown
# integer values within an unknown range.
# Here, I made thi
我想打印一个散点图,并添加它们的主要方向。
所以我有一个向量数组(在3D中) x,y,z到u,v,w,我想要显示,还有一个三维点数组。
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.quiver(x, y, z, u, v, w, length=0.1, normalize=False)
# if i stop here I see the quiver
ax.scatter
我使用python的matplotlib中的scatter 3d plot来绘制以下数据,
x y z b2
3.28912855713 4.64604863545 3.95526335139 1.0
3.31252670518 4.65385917898 3.96834118896 1.0
当曲线图为2d时,
fig = plt.figure()
ax = fig.add_subplot(111)
line =ax.scatter(x,y,c=b2,s=500,marker='*',edgecolors
在我的代码中,我想要使用动画功能在3d图形上绘制移动点,但是当它绘制新的点时,它不会删除先前的点。我的代码如下所示 from mpl_toolkits.mplot3d import Axes3D
from matplotlib import animation
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x =[1,2,3,4,5,6,7,8,9,10]
y =[5,6,2,3,13,4,1,2,4,8]
z =[2,3,3,
我想与matplotlib图形,2D以及3D在谷歌协作。我不能用这个普通的代码缩放、旋转或进行任何形式的交互。
import numpy as np
from sklearn.cluster import MeanShift
from sklearn.datasets.samples_generator import make_blobs
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import style
style.use("ggplot")
如何修改matplotlib中3d散点图的xyz数据,以实现快速的在线动画?换句话说,matplotlib patchcollection3d对象在哪里保存xyz坐标,以及如何设置它们?例如:
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
import numpy as np
## generate some random data
pts = np.random.uniform(0,10,(10,20,30))
plt.close('all')
fig = plt.figur
在使用matplotlib绘图时,我总是遇到这个问题...他们没有在图上绘制轴线的概念,在这种情况下,我特别想在散点图上绘制xyz轴线,以便它看起来像附加的照片,包括从点到轴的投影线。 ploting a point with explicit axis lines through origin 相反,我得到的是: # from jupyter notebook
%matplotlib
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
fig = plt.fi
我想在Python中用matplotlib做一个3D散点图,例如,>5的点显示为红色,其余的显示为蓝色。
问题是,我仍然使用标记/颜色绘制所有值,我也知道为什么会出现这种情况,但我对Python的思考还不够深入,无法解决这个问题。
X = [3, 5, 6, 7,]
Y = [2, 4, 5, 9,]
Z = [1, 2, 6, 7,]
#ZP is for differentiate between ploted values and "check if" values
ZP = Z
for ZP in ZP:
if ZP > 5:
我已经使用plt.plot_surface()和plt.scatter()创建了一系列3D图像,如下所示:
我想把它们保存为.gif。在之后,我能够循环浏览视角并收集图像:
v_angles = [item for item in range(184,264,2)] + [item for item in range(264,183,-2)]
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from matplotlib.animation import PillowWriter
ims
我想在matplotlib 3d图中改变网格的透明度。
但是我发现它并不像2d那样简单,它就是简单的plt.grid(alpha=0.2)。
在这里我给出了一个迷你代码
import numpy as np
import matplotlib.pyplot as plt
data = np.random.randn(3, 100)
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.scatter(data[0], data[1], data[2])
# How to change the grid t