一个简单的软件包,利用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第三方库


热门话题
json错误“不是JSONObject”:以字符串形式返回此格式的API。如何使用Java从中读取和创建对象?   java GridGain无法绑定到Linux上的任何端口   java在Mac上使用Netbeans,Netbeans找不到。txt文件   使用条件的java查询   甲骨文java。lang.ClassCastException错误   测试JBehave和Java varargs如何将参数传递给varargs方法?   JavaFX,NASA世界风:如何将JavaFX组添加到NASA世界风模型中   java如何将onClick函数传递给Intent   java从文件中读取序列化对象?   java获取资产文件夹的完整路径   java为什么Spring找不到资源文件?   java如何更改启动活动?   在问题类中使用datechooser时,如何用java中的系统当前日期验证用户输入日期   java如何使用Hibernate Envers(@Audited)而不使用Hibernate生成任何表   当从java加速计中检索到更准确的数据时?   如何在java中提取特定的json数据