我有一个图形,它由imshow()显示的图像、轮廓和quiver()设置的矢量场组成。我根据另一个标量对矢量场进行了着色。在我图的右边,我制作了一个colorbar()。此colorbar()表示imshow()显示的值(在我的例子中可以是正值也可以是负值)。我想知道如何设置另一个基于矢量颜色所基于的标量值的颜色条。有人知道怎么做吗?这是我能够制作的图像示例。请注意,矢量的颜色从蓝色变为红色。根据当前的颜色条,蓝色表示负数。但是我知道向量的颜色代表的数量总是正数。 最佳答案 只需在每次绘图调用之后调用colorbar两次。Pylab
我之前问过问题“Howtozoomsubplotstogether?”,从那时起就一直在使用这个出色的答案。我现在只绘制两组时间序列数据,我需要像上面那样继续缩放,但现在我还需要相对于另一个绘制一个图(我正在做眼球相关)。数据来自2个独立的仪器,具有不同的开始时间和不同的时钟设置。在使用中,我使用“缩放到矩形”工具栏按钮进行缩放,并使用“平移/缩放”按钮进行滚动。我怎样才能最好地相对于另一个滚动X中的一个图?理想情况下,我还想捕捉并显示时差。我不需要在Y中垂直滚动。我怀疑我可能需要停止使用简单的“sharex=”“sharey=”方法,但不确定如何最好地继续。提前感谢伟大的StackO
我正在尝试在matplotlib中制作一个3D图,上面有三个圆圈,每个圆圈以原点为中心,半径为1,指向不同的方向-例如,以说明半径为1的球体。在2D中,我会制作一个圆形面片集合并将其添加到轴上。在3D中,我根本无法显示补丁,更不用说将它们定向到不同的方向了。importmatplotlibimportmatplotlib.pyplotasPimportmpl_toolkits.mplot3dasM3fig=P.figure()ax=fig.add_subplot(1,1,1,projection='3d')circles=matplotlib.collections.PatchColl
因此,我绘制的波形(和其他东西)导致矢量文件(PDF)比相应的光栅文件(PNG)更大。我想这是因为绘制的数据集非常大,矢量文件中有数百万条指令。除了更大之外,PDF阅读器也很难显示PDF。在某些上,加载需要几秒钟;在其他人身上,它根本不加载。在pyplot中,是否可以绘制带有矢量轴、标签和所有其他文本的位图?我目前(非常糟糕)的解决方案是生成PDF,生成PNG,用inkscape打开PDF,然后用PNG替换绘图。显然,如果您意识到必须重新生成图,这太手动且非常耗时。 最佳答案 它应该像将rasterized=True传递给plot命
如何使用Python和Matplotlib将一个子图的视觉宽度设置为等于另一个子图的宽度?第一个图具有固定的纵横比和来自imshow的方形像素。然后我想在其下方放置一个线图,但我无法这样做并使所有内容对齐。我相当确定解决方案涉及关于此TransformTutorial的信息页。我试过使用fig.transFigure、ax.transAxes、ax.transData等,但没有成功。我需要在上面板中找到轴的宽度和高度以及偏移量,然后能够在下面板中设置轴的宽度、高度和偏移量。不应包含轴标签和刻度等或更改对齐方式。例如下面的代码fig=plt.figure(1)fig.clf()data=
我想绘制一个显示轴但不显示轴之间的面的3D曲面图。我发现的是如何使用ax.set_axis_off()关闭轴和面。有没有机会只关闭那些面孔,或者让它们透明?(第一张图仔细看可以看到人脸)提前致谢! 最佳答案 您不能“关闭Pane”,但可以更改它们的颜色,从而使它们透明。ax.xaxis.set_pane_color((1.0,1.0,1.0,0.0))完整代码:frommpl_toolkits.mplot3dimportAxes3Dimportmatplotlib.pyplotaspltimportnumpyasnpfig=plt.
我在http://matplotlib.sourceforge.net/examples/pylab_examples/quiver_demo.html上找到了这段代码frompylabimport*fromnumpyimportmaX,Y=meshgrid(arange(0,2*pi,.2),arange(0,2*pi,.2))U=cos(X)V=sin(Y)#1figure()Q=quiver(U,V)qk=quiverkey(Q,0.5,0.92,2,r'$2\frac{m}{s}$',labelpos='W',fontproperties={'weight':'bold'})l
我正在尝试使用matplotlib将散点图叠加到等高线图上,其中包含plt.contourf(X,Y,XYprof.T,self.nLevels,extent=extentYPY,\origin='lower')ifself.doScatter==Trueandlen(xyScatter['y'])!=0:plt.scatter(xyScatter['x'],xyScatter['y'],\s=dSize,c=myColor,marker='.',edgecolor='none')plt.xlim(-xLimHist,xLimHist)plt.ylim(-yLimHist,yLimHi
我有一个matplotlib.pyplot图表,它循环更新以创建动画,使用我从anotheranswer获得的这种代码:importmatplotlib.pyplotaspltfig,ax=plt.subplots()x=[1,2,3,4]#x-coordinatesy=[5,6,7,8]#y-coordinatesfortinrange(10):ift==0:points,=ax.plot(x,y,marker='o',linestyle='None')else:new_x=...#xupdatednew_y=...#yupdatedpoints.set_data(new_x,new
我可以在matplotlib中制作文本框。但我看不到如何从渲染图中删除它们?画个文本框后好像没有figure.text.clear()或者figure.text(visible=False)?这是怎么做到的?与传说不同,您似乎无法使它们可拖动? 最佳答案 文本框是艺术家。因此,如果您保留对它们的引用,您应该能够用它们做很多事情。因此,在任何绘图代码中,而不是fig.text(0,0,'Mytext')你可以做到textvar=fig.text(0,0,'Mytext')但是,如果您丢失了引用,则可以在texts属性中找到所有文本对象