所以我有以下示例绘制图形和插图:importmatplotlib.pyplotaspltimportnumpyasnpfig=plt.figure()ax1=fig.add_subplot(1,1,1)x=np.arange(100).reshape((10,10))ax1.imshow(x)ax2=fig.add_axes([0.5,0.5,0.3,0.3])t=np.arange(0,1,0.01)s=np.sin(t)ax2.plot(t,s,linewidth=2)这会产生下图:我想要的是插图有点透明(比如alpha=0.5)。我想要一些类似于他们在matplotlib文档中的
我想绘制一个二维数组(大约1000x1000),其值对应于色标。所以我使用了matplotlib.pcolor,它就是这样做的,但出于某种原因,当它达到这些尺寸时它非常慢(比如2分钟左右只是为了绘图)。这是什么原因?将浮点值转换为int16左右会有帮助吗?pcolor有其他替代品吗?frompylabimport*data=genfromtxt('data.txt',autostrip=True,case_sensitive=True)pcolor(data,cmap='hot')colorbar()show()data.txt包含数组。加载过程确实需要几秒钟,但主要的计算时间肯定由p
我正在尝试制作一个包含7个子图的图。目前我正在绘制两列,一列有四个地block,另一列有三个,即像这样:我正在按照以下方式构建此图:#!/usr/bin/envpythonimportnumpyasplottingimportmatplotlibfrompylabimport*x=np.random.rand(20)y=np.random.rand(20)fig=figure(figsize=(6.5,12))subplots_adjust(wspace=0.2,hspace=0.2)iplot=420foriinrange(7):iplot+=1ax=fig.add_subplot(
我想知道如何在matplotlib中创建100%堆积面积图。在matplotlib页面上,我找不到它的示例。这里有人可以告诉我如何实现吗? 最佳答案 实现此目的的一种简单方法是确保对于每个x值,y值总和为100。我假设您将y值组织在一个数组中,如下例所示,即y=np.array([[17,19,5,16,22,20,9,31,39,8],[46,18,37,27,29,6,5,23,22,5],[15,46,33,36,11,13,39,17,49,17]])要确保列总数为100,您必须将y数组除以其列总和,然后乘以100。这使得y
我正准备进行演示,我有一些3Dmatplotlib图形的示例图形。但是,网格线太亮,无法在投影图像上看到。我尝试使用适用于二维图形的网格方法:points=(5*np.random.randn(3,50)+np.tile(np.arange(1,51),(3,1))).transpose()fig=plt.figure(figsize=(10,10))ax=fig.add_subplot(111,projection='3d')ax.scatter(points[:,0],points[:,1],points[:,2])ax.view_init(elev=0.,azim=0)ax.se
我有一个采样率为16e3的信号,其频率范围为125到1000Hz。因此,如果我绘制一个频谱图,我会得到一个非常小的颜色范围,因为所有未使用的频率。我尝试通过设置ax限制来修复它,但这不起作用。有什么方法可以切断未使用的频率或用NaN替换它们?将数据重新采样为2e3将不起作用,因为在125Hz以下仍有一些未使用的频率。感谢您的帮助。 最佳答案 specgram()正在为您完成所有工作。如果你在axes.py中查看specgram函数,你可以看到它是如何工作的。原函数在我电脑上的Python27\Lib\site-packages\ma
我有数据:x=[10,24,23,23,3]y=[12,2,3,4,2]我想用matplotlib.lines.Line2D(xdata,ydata)绘制它.我试过:importmatplotlib.linesmatplotlib.lines.Line2D(x,y)但是我该如何显示这条线呢? 最佳答案 您应该将线添加到绘图中,然后显示它:In[13]:importmatplotlib.pyplotaspltIn[15]:frommatplotlib.linesimportLine2DIn[16]:fig=plt.figure()In
我使用matplotib的AxesAPI绘制一些图形。我绘制的其中一条线代表理论上的预期线。它在原始y和x限制之外没有任何意义。我想要的是让matlplotlib在自动缩放限制时忽略它。我以前做的是检查当前限制是什么,然后绘制并重置限制。问题是,当我绘制第三个图时,限制与理论线一起重新计算,这确实扩大了图表。#Boilerplatefrommatplotlib.figureimportFigurefrommatplotlib.backends.backend_pdfimportFigureCanvasPdffromnumpyimportsin,linspacefig=Figure()a
我用matplotlib/pyplot绘制了一个简单的线图。在同一个情节中,最多有20行。Matplotlib会自动选择线条颜色。我需要用更粗的红色绘制第一条线。所以我尝试了:if(i==0):#firstlineplt.plot(x,y,'r',lw=2.5)else:#otherlinesplt.plot(x,y)到目前为止非常简单。第一行是正确的。但其中一条线也是红色的。如何避免这种情况? 最佳答案 默认的jet颜色图从蓝色变为红色。每个内置颜色图还有一个姐妹颜色图,颜色顺序相反。反转色图同名,后缀_r。因此,jet_r从红色
我正在尝试使用具有以下格式的文件的matplotlib绘制等高线图:x1y1z1x2y2z2等等我可以用numpy.loadtxt加载它来获取向量。到目前为止,没有问题。我读这篇文章是为了学习如何绘图,并且可以通过复制粘贴来复制它,所以我确定我的安装没有任何问题:http://matplotlib.org/examples/pylab_examples/griddata_demo.html我知道我必须将x和y作为向量输入,将z作为数组输入,这可以使用griddata完成。这也是我在这个网站上找到的。文档说:zi=griddata(x,y,z,xi,yi)fitsasurfaceofth