一个简单的软件包,利用IPython和HTML在Jupyter笔记本电脑中实现更高效、更广泛和交互式的图像绘图

ipyplot的Python项目详细描述


BuildPyPI - versionDownloadsDownloads/Monthlicense

共享
Twitter URLLinkedIn URL

IPyPlot是一个小的python包,它提供了在python笔记本单元内快速高效地绘制图像的功能。它将IPython与HTML结合使用,以更快、更丰富、更具交互性的方式显示大量图像。在

用Python在笔记本上显示大量图像对我来说一直是一个很大的痛苦,因为我总是使用matplotlib来完成这项任务,我甚至从未考虑过是否可以更快、更容易或更高效地完成这项任务。
尤其是在我最近的一个项目中,我不得不以一种非常交互式的方式处理大量的文档图像,这导致我总是要重新运行笔记本单元格,并等待数不清的秒数等待matplotlib来完成这项工作。
我的挫败感发展到我无法再忍受下去,开始寻找其他选择。
我发现的最佳解决方案是使用IPython包与简单的HTML连接。使用这种方法,我构建了一个名为^{str1}$IPyPlot的简单python包,它最终帮助我克服了挫折,节省了大量时间。在

特点:

  • [x] 在笔记本电脑中用python轻松、快速、高效地绘制图像
  • [x] 绘制函数(请参见examples section了解更多信息):
    • [x] plot_images-简单地以网格状布局打印所有图像
    • [x] plot_class_representations-与plot_images相似,但只显示每个标签/类的第一个图像(基于提供的labels集合)
    • [x] plot_class_tabs-基于提供的标签,在每个标签/类的单独选项卡中以类似网格的方式绘制图像
  • [x] 支持的图像格式:
    • [x] 本地存储URL的序列,例如[your/dir/img1.jpg]
    • [x] 远程URL的序列,例如[http://yourimages.com/img1.jpg]
    • [x] PIL.Image对象的序列
    • [x] 作为numpy.ndarray对象的图像序列
    • [x] 支持的序列类型:listnumpy.ndarraypandas.Series
  • [x] 其他功能:
    • [x] custom_textsparam显示其他文本,如每个图像的置信度或其他一些信息
    • [x] force_b64标志以强制将图像从url转换为base64格式
    • [x] 点击图片放大
    • [x] 通过max_imagesimg_width参数控制显示图像的数量及其宽度
    • [x] “显示html”按钮,显示用于生成绘图的html代码
    • [x] 选项可设置标签/标签的特定顺序、过滤它们或忽略某些标签
  • [x] 支持的笔记本平台:
    • [x] 朱皮特
    • [x] 谷歌Colab
    • [x] Azure笔记本
    • [x] 卡格尔笔记本

入门

要开始使用IPyPlot,请参见examples below或转到 ^{yp str}你最可能的选择是。在

安装

IPyPlot可以通过PyPI安装:

pip install ipyplot

或使用pip直接从该回购中:

^{pr2}$

使用示例

IPyPlot提供3个主要功能,可用于在笔记本电脑中显示图像:

要开始使用IPyPlot,只需按如下方式导入:

importipyplot

并使用下面显示的任何可用绘图功能(注意执行时间)。在

  • images-应该是string(本地或远程图像文件url)、PIL.Image对象或代表图像的numpy.ndarray对象的序列
  • labels-应该是string或{}的序列

显示图像集合

显示类表示(每个唯一标签的第一个图像)

为每个唯一类在单独的交互式选项卡中显示图像

了解更多关于n使用IPyPlot转到gear-images-examples.ipynb笔记本获取更复杂的示例。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用jain api上的编解码器信息自动创建sdp消息   显示素数误报的java程序   java如何从存储x、y值和整数索引之间的时间变化的两个数组列表创建动画?   java CompletableFuture:转换与组合   具有多个in运算符的java CrudePository findBy方法签名?   java:扩展小程序进程超时   java如何做mvn scm插件匿名pserver cvs访问   java如何在选中项目时将项目从一个活动发送到另一个活动   java存储子网的最佳数据结构,用于将Ip地址与子网匹配   java Jackson序列化以报告无法序列化的字段列表   如何将java mysql连接器导入IntelliJ?   如果java只在构造函数中编写,它是线程安全的集合吗?   java正则表达式捕获组在OR运算符后返回null   java使用Jackson在运行时将实体动态序列化为其ID或完整表示形式