svgdigitizer是一个Python库和命令行工具,用于恢复科学出版物中图表下隐藏的测量数据。
项目描述
SVGDigitizer — 从SVG文件中提取(x,y)数据点
svgdigitizer
允许从二维坐标系中绘制的图中恢复数据,通常在科学出版物中找到。数据可以通过命令行界面或从特别准备的缩放矢量图形(SVG)文件中的API访问。数据可以存储为无摩擦数据包(CSV和JSON),可用于unitpackage以访问图表元数据或创建此类数据包的数据库。
优点
与其他绘图数字化器相比,svgdigitizer
有一些优点,例如
- 支持每个x(y)值多个y(x)值
- 使用样条允许非常精确地重新追踪不同的特征
- 样条可以用特定的采样间隔进行数字化
- 支持变形/偏斜轴的图表
- 从轴标签中提取单位
- 以给定的扫描速率重建时间序列
- 支持比例尺
- 支持缩放因子
- 从SVG中提取与图表相关的元数据
- 以无摩擦数据包(CSV + JSON)保存数据,允许FAIR数据使用
- 在数据包中包含元数据
- Python API以与重新追踪的数据交互
请参阅我们的文档获取更多详情。
安装
此软件包可在PiPY上找到,并可以使用pip进行安装。
pip install svgdigitizer
该软件包还可在conda-forge上找到,并可以使用conda或mamba进行安装。
conda install -c conda-forge svgdigitizer
安装。
mamba install -c conda-forge svgdigitizer
命令行界面
CLI允许从PDF创建SVG文件,并允许对处理后的SVG文件进行数字化。某些图表类型有特定的命令来恢复不同类型的元数据。有关更多信息,请参阅CLI文档。
$ svgdigitizer
Usage: svgdigitizer [OPTIONS] COMMAND [ARGS]...
The svgdigitizer suite.
Options:
--help Show this message and exit.
Commands:
cv Digitize a cylic voltammogram and create a frictionless datapackage.
digitize Digitize a 2D plot.
figure Digitize a figure with units on the axis and create a frictionless datapackage.
paginate Render PDF pages as individual SVG files with linked PNG images.
plot Display a plot of the data traced in an SVG.
$ svgdigitizer figure doc/files/others/looping_scan_rate.svg --sampling-interval 0.01
API
您还可以直接从Python使用svgdigitizer
软件包,以访问SVG或与图形相关联的附加属性。
>>> from svgdigitizer.svg import SVG
>>> from svgdigitizer.svgplot import SVGPlot
>>> from svgdigitizer.svgfigure import SVGFigure
>>> figure = SVGFigure(SVGPlot(SVG(open('doc/files/others/looping.svg', 'rb')), sampling_interval=0.01))
示例:figure.df
提供数字化的曲线的数据框。 figure.plot()
显示数字化的曲线图。 figure.metadata
提供包含原始图表元数据(如轴的原始单位)的字典。
svgdigitizer
可以通过子模块进行增强,这些子模块旨在数字化特定类型的图表,例如子模块electrochemistry.cv
。
此子模块允许数字化电化学领域常见的光伏伏安曲线。
>>> from svgdigitizer.svg import SVG
>>> from svgdigitizer.svgplot import SVGPlot
>>> from svgdigitizer.electrochemistry.cv import CV
>>> cv_svg = 'doc/files/mustermann_2021_svgdigitizer_1/mustermann_2021_svgdigitizer_1_f2a_blue.svg'
>>> cv = CV(SVGPlot(SVG(open(cv_svg, 'rb')), sampling_interval=0.01))
生成的cv
对象具有与上面所述的figure
对象相同的属性。
项目详情
关闭
svgdigitizer-0.12.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 540e8801ef09bc9c164f434af25b910e4c70470ae57288791960082cd8708aef |
|
MD5 | ff27b1e2971f0710b69c86016bd00f0c |
|
BLAKE2b-256 | 6b882091ab2dc0689642fd4082d7ce4d0cc1547e310cb04b0134f7986ee5840b |