草庐IT

matplotlib-tutorial

全部标签

python - 如何在 matplotlib 中绘制滞后现象?

我正在尝试绘制干草叉fork随时间的发展。x和y之间的关系开始时近似线性,但最终呈S形S形状。最终关系不是函数;x的某些值有多个y值。Matplotlib为曲面图做了很好的线框,但这些曲面图似乎无法处理非函数。有没有另一种方法来描绘这种关系的表面?(如果可能的话,我不想要一个实心的形状。)目前我的数据在零数组中,其中1表示表面位置的近似值。我已经包含了一个非常小的示例数据集,以及将绘制它们位置的示例代码。我如何“连接点”?我的实际数据集更大(500x200x200)且种类繁多,因此我需要开发一个灵活的系统。这就是最终数字可能的样子:来自readingmplot3ddocumentati

python - matplotlib:使用 append_axes 时,如何指示要将子面板添加到的轴?

我一直在看这个例子"scatterhist"在Matplotlib画廊中。此时x/y子图分别在顶部和右侧,即:divider=make_axes_locatable(axScatter)axHistx=divider.append_axes("top",1.2,pad=0.1,sharex=axScatter)axHisty=divider.append_axes("right",1.2,pad=0.1,sharey=axScatter)但是,如果我将子图位置更改为:divider=make_axes_locatable(axScatter)axHistx=divider.append

python - 将 matplotlib 图表嵌入到 Qt/C++ 应用程序中

我正在使用Qt/C++开发面向数学的GUI应用程序,并希望嵌入Python脚本,包括NumPy和Matplotlib。使用PythonCAPI,我终于设法运行了一个脚本,从Python变量中检索值,包括NumPy数组等。但是我未能将Matplotlib图表绘制到我的Qt/C++应用程序中。更好的说法是,我已经设法使用Python脚本将图表的RGBA缓冲区保存到一个变量,然后将变量的值作为缓冲区类型的PyObject获取,获取缓冲区并将其转换为QImage,然后再转换为QPixmap最后放入QLabel中显示。但我仍然缺少它的交互行为,调整大小等。虽然它似乎可以通过将Qt鼠标事件转发到f

python - 在 ipynb 中将来自 %matplotlib notebook 后端的输出作为 SVG 包含在内

This几年前的回答展示了如何让jupyternotebook将图形创建为svg。解决方案是告诉InlineBackend使用svg作为输出。importmatplotlib.pyplotasplt%matplotlibinline%configInlineBackend.figure_format='svg'plt.plot(...)这将导致笔记本内以及生成的ipynb文件中的所有图像均为svg格式;该文件将有一行"data":{"image/svg+xml":["在里面。现在的问题是,如果使用%matplotlibnotebook后端,这将不起作用。%configInlineBac

python - matplotlib 多个连接到事件处理程序?

importsysimportmatplotlibimportmatplotlib.pyplotaspltprintmatplotlib.__version__,matplotlib.get_backend()defhit(event):sys.stderr.write('hit\n')fig=plt.figure()cid0=fig.canvas.mpl_connect('key_press_event',hit)cid1=fig.canvas.mpl_connect('button_press_event',hit)printcid0,cid1plt.show()使用上面的代码,为

python - 如何在 matplotlib 中为 3d plot_surface 制作动画

我已经从一个文件创建了一个3D绘图表面,并且我正在尝试为该绘图制作动画。我已经阅读了matplotlib网页中的示例和SO中的其他示例,并注意到我需要创建一个更新函数来遍历文件中的值,然后创建一个matplotlib.animation对象,但是我不明白该怎么做。如果有人能向我解释更新函数的语法以及如何在matplotlib.animation对象中使用它,我将不胜感激。我的数据是一个包含498行的多维数组,对于每一行,我都有一个包含64x128值的数组。数据按以下方式组织:数据是来自测力台的时间序列,500行中的每一行都是一个帧,这意味着该试验持续10秒。对于每一帧,我都有另一个具有

python matplotlib colorbar 科学计数法基础

我正在尝试在我的matpllotlibcontourf图上自定义颜色条。虽然我能够使用科学记数法,但我正在尝试更改记数法的基础-本质上是让我的刻度在(-100,100)范围内,而不是(-10,10)。例如,这会产生一个简单的图...importnumpyasnpimportmatplotlib.pyplotaspltz=(np.random.random((10,10))-0.5)*0.2fig,ax=plt.subplots()plot=ax.contourf(z)cbar=fig.colorbar(plot)cbar.formatter.set_powerlimits((0,0))

python - Matplotlib:使最终图形尺寸与 savefig() 和 bbox_extra_artists 匹配 figsize

我正在使用matplotlib制作要发布的图形,并希望输出尺寸非常精确的图形。我需要这个,这样我就可以确定在插入latex文档时不需要调整图形的大小,这会弄乱图形中的字体大小,我希望它与图形中的字体大小保持一致的比例主文档。我需要对savefig使用bbox_extra_artists参数,因为我在底部有一个图例,如果我不这样做,它会被切断。我遇到的问题是,在使用调用savefig后创建受尊重的图时,我还没有找到一种方法来使我用figsize指定的原始图形尺寸bbox_extra_artists.我对savefig的调用如下所示:savefig(output_file,bbox_inc

python - 在 Matplotlib 中选择标记大小

我正在像这样在matplotlib中用方形标记绘制散点图:.我想实现这样的目标:这意味着我必须以标记之间没有空白的方式调整标记大小和图形大小/比例。每个索引单元也应该有一个标记(x和y都是整数)所以如果y从60到100,应该有y方向的40个标记。目前我正在手动调整它。知道实现此目标的最佳方法是什么吗? 最佳答案 我找到了两种解决方法:第一个基于thisanswer.基本上,您确定相邻数据点之间的像素数并使用它来设置标记大小。scatter中的标记大小以面积形式给出。fig=plt.figure()ax=fig.add_subplot

python - Matplotlib:pcolor() 不绘制最后一行和最后一列?

似乎PCOLOR正在砍掉我数据集的最后一行和最后一列。打印下面zi的形状显示它是(22,22),如我所料,但显示的面积为21x21平方...知道为什么没有绘制最后一行和最后一列吗?defpcolor_probs(x,y,z,x_str,y_str,t_str):xi=np.arange(min(x),max(x)+1,1)yi=np.arange(min(y),max(y)+1,1)zi=griddata(x,y,z,xi,yi)printnp.shape(xi),np.shape(yi),np.shape(zi)#fixNANszi=np.asarray(zi)foriinrange