草庐IT

canvas2d

全部标签

python - 在 python 中用 3D 表面覆盖 2D 图

我正在尝试绘制许多xz图,每个图都具有不同的y值,并覆盖一个表面。我看过很多关于如何在python中绘制3D表面的示例,但除了thispost,似乎没有什么与我的询问非常吻合。我需要做的事情的图像如下所示(注意:忽略“常量x”-这是因为变量布局比我在这里解释的更复杂):我的代码如下,简单地获取数据并绘制每个单独的幅度与频率图(xz图):importnumpyasnpimportglob,osimportcodecsimportreimportmatplotlib.pyplotasplt#--------------------------------------------------

python - 如何从 kivy 小部件 Canvas 中删除特定说明?

我正在编写一个基于kivy的图形应用程序,我可以在其中动态地将节点添加到绘图区域,然后使用有向线(=边)连接它们。可以将节点拖到绘图区域内,边缘应始终与它们保持连接。Edge类派生自Widget类。它的图形表示由两部分组成,线本身(=线)和线的尖端(=三角形)。绘制边缘小部件时,首先会平移和旋转其Canvas,然后将边缘的尖端绘制到Canvas上。之后将Canvas旋转回原位,将线条部分绘制到canvas.after。移动节点时,Edge小部件的Canvas会被清除并重新绘制图形表示。然而,这并不像我计划的那样有效。如果我在Edge类的draw方法的开头使用self.canvas.cl

python - 在 3D 绘图中显示真彩色 2D RGB 纹理?

我正在尝试通过RGB堆栈制作由一系列2D平面组成的3D图,如下所示:我知道可以使用mpl_toolkits.mplot3d将x、y、z坐标和每个像素的RGB(A)颜色传递给plot_surface:importnumpyasnpfrommatplotlibimportpyplotasppfrommpl_toolkits.mplot3d.axes3dimportAxes3Ddefplot_stack_slices(rgbstack,scale=(1.,1.,1.),z_interval=10.):fig,ax=pp.subplots(1,1,subplot_kw={'projection

python - 通过 3D 表面绘制 2D 平面

我正在尝试使用Numpy和Matplotlib可视化2D平面切割3D图形,以解释偏导数的直觉。具体来说,我使用的函数是J(θ1,θ2)=θ1^2+θ2^2,我想在θ2=0处绘制一个θ1-J(θ1,θ2)平面。我已经设法用下面的代码绘制了一个2D平面,但是2D平面和3D图形的叠加不太正确,2D平面稍微偏离了,因为我希望平面看起来像是在切割θ2=0时的3D。如果我能借用您在这方面的专业知识,那就太好了,谢谢。deff(theta1,theta2):returntheta1**2+theta2**2fig,ax=plt.subplots(figsize=(6,6),subplot_kw={'

python - 如何将 Tkinter Canvas 坐标转换为窗口?

有没有办法在Tkinter中将Canvas坐标转换为窗口坐标?这与从窗口坐标转换为Canvas坐标相反,它是这样完成的:x=canvas.canvasx(event.x) 最佳答案 使用canvasx和canvasy方法,给定参数零,计算可见Canvas左上角的x/y。然后只需使用数学将Canvas坐标转换为相对于窗口的坐标即可。#upperleftcornerofthevisibleregionx0=self.canvas.canvasx(0)y0=self.canvas.canvasy(0)#givenacanvascoordi

python - matplotlib:hist2d 中的日志转换计数

在matplotlib中绘制二维直方图时,是否有一种简单的方法来获取对数转换计数?不同于pyplot.hist方法,pyplot.hist2d方法似乎没有日志参数。目前我正在做以下事情:importnumpyasnpimportmatplotlibasmplimportmatplotlib.pylabaspltmatrix,*opt=np.histogram2d(x,y)img=plt.imshow(matrix,norm=mpl.colors.LogNorm(),cmap=mpl.cm.gray,interpolation="None")它绘制了预期的直方图,但轴标签显示了bin的索

python - Python 中数组的 2D 和 3D 散点直方图

你知道我如何将3个数组合并为直方图吗?我的阵列看起来像Temperature=[4,3,1,4,6,7,8,3,1]Radius=[0,2,3,4,0,1,2,10,7]Density=[1,10,2,24,7,10,21,102,203]一维图应该是这样的:Density|X10^2-|X|X10^1-||X10^0-||___|___|___|___|___Radius03.36.610二维图应该(定性)如下所示:Density|2||10^2-|11249|||233||Radius10^1-|12|||1||10^0-||___|___|___|___|___Temperatu

Python Tkinter 刷新 Canvas

你好,我在python中有一个元组,其颜色与通过以下字典在Canvas中绘制的正方形相关:colour_mapping={0:"red",1:"green",2:"blue",3:"purple"}更具体地说,例如元组中的一个节点是:((2,3),(3,3))这意味着应该这样绘制4个正方形:bluesquarepurplesquarepurplesquarepurplesquare然后它们的颜色应该相应地更改为我的元组中的下一个节点为此,我迭代元组,并为每个元素在Canvas上绘制一个新矩形,然后调用time.sleep()函数,以便让用户有时间查看与之前状态的差异。我的问题是只有最后

python - 如何修改 2d 散点图以显示基于 csv 文件中第三个数组的颜色?

我正在使用Python和CSV文件。我目前正在尝试修改下面的散点图(2d)以根据我的csv文件中的第三列更改颜色。搜索多个帖子后,我基本上想使用通用颜色图(彩虹)并将我的第三个数组乘以颜色图,以便为每个xy点显示不同的颜色。我想我可以通过ax.scatter函数完成所有操作,但我不确定如何将每个不同的x、y坐标乘以颜色图和第三个数组编号。它看起来应该类似于等高线图,但我更喜欢不同颜色的散点图。这是我使用的代码:importmatplotlibfrommatplotlib.backends.backend_aggimportFigureCanvasAggasFigureCanvasfro

python - 我们如何删除已在 Tkinter Canvas 中创建的形状?

考虑:fromTkinterimport*a=Tk()canvas=Canvas(a,width=500,height=500)canvas.pack()canvas.create_rectangle(0,0,100,100)我们如何删除这个已经创建的矩形?这是关于我正在创建的游戏。这是一个简单的游戏,如果球击中方block,方block就会消失。但是如果我这样做:classBlock:def__init__(self,canvas,color):self.canvas=canvasself.id=canvas.create_rectangle(10,10,110,20,fill=co