Helped by https://davetang.org/muse/2019/02/22/importing-vector-images-into-r/
So the best workflow, I have is SVG to EPS (encapsulated post script) through illustrator
EPS to RGML through PostScriptTrace
In this way icons can be used in images in R using the grid package...
https://github.com/sjp/grConvert
The RGML format is specific to the grImport package. It is a very simple graphics format that describes an image in terms that the R graphics system can understand. It will be described in more detail in later sections. ... The RGML formatin this example is roughly a one-to-one translation of the PostScript code.16 Apr 2009
https://www.rdocumentation.org/packages/grImport/versions/0.9-1.1/topics/PostScriptTrace
grImport::PostScriptTrace()
works and is maintained....
Inkscape - could be used in the command line...
http://tavmjong.free.fr/INKSCAPE/MANUAL/html/CommandLine.html
XSLT for converting from one kind of XML to another
https://github.com/ropensci/xslt
This may just be too difficult but who knows...
Ghostscript
https://stackoverflow.com/questions/9793120/how-to-covert-svg-to-eps-in-ghostscript
Converting from SVG to EPS...
Not sure about this but might be interesting
https://github.com/akrinke/svg2cairo
https://cairosvg.org/
Python library...
Thursday, 18 April 2019
Recent grImport blog post...
Exploring this post https://davetang.org/muse/2019/02/22/importing-vector-images-into-r/
Interesting point about one of the commands:
Interesting point about one of the commands:
head
-17 shapes.eps.xml
It is a UNIX command not an R one!
Tuesday, 16 April 2019
Reading about grImport2
So in 2013, Potter and Murrell developed grImport2.
https://sjp.co.nz/projects/grimport2/grImport2.html
This is to import SVG graphics into R.
Reading about this has revealed at key point:
"A complication with SVG is that unlike PostScript and PDF it does not require the use of a physical coordinate system (e.g. points). This, among other things (such as attribute precedence), complicates the process of importing an SVG image. However, if we restrict the SVG we support to the SVG that is generated by the Cairo graphics library [10], then we know that the SVG images that we import are guaranteed to belong to a common coordinate system and other features of the image will be flattened, making it easier to parse. In particular, this means that grImport2 does not need to parse all of the SVG image format, only the subset of SVG that Cairo generates. Furthermore, because Cairo is is a supported graphics renderer for many open source libraries that import vector images, we know that it is possible for many input formats to be mapped to the Cairo SVG subset of SVG."
Thus there is more than one kind of SVG!
Work flow seems to be:
https://sjp.co.nz/projects/grimport2/grImport2.html
This is to import SVG graphics into R.
Reading about this has revealed at key point:
"A complication with SVG is that unlike PostScript and PDF it does not require the use of a physical coordinate system (e.g. points). This, among other things (such as attribute precedence), complicates the process of importing an SVG image. However, if we restrict the SVG we support to the SVG that is generated by the Cairo graphics library [10], then we know that the SVG images that we import are guaranteed to belong to a common coordinate system and other features of the image will be flattened, making it easier to parse. In particular, this means that grImport2 does not need to parse all of the SVG image format, only the subset of SVG that Cairo generates. Furthermore, because Cairo is is a supported graphics renderer for many open source libraries that import vector images, we know that it is possible for many input formats to be mapped to the Cairo SVG subset of SVG."
Thus there is more than one kind of SVG!
Work flow seems to be:
R> # Converting the image R> library(grConvert) R> convertPicture("nzflag-original.svg", "nzflag-cairo.svg") R> # Reading it into R R> library(grImport2) R> nzflag <- readPicture("nzflag-cairo.svg")
So convertPicture() into cairo svg first and then readPicture()
Got to be worth trying...
Monday, 15 April 2019
Going back to personograph
So the speed of the rendering of the images in personograph may indicate that it is best to just
made adaptations to this line of work.
The icons in this package are in the inst folder.
They are named:
1.ps.xml
and represent post script files turned into xml with the grImport package.
https://cran.r-project.org/web/packages/grImport/vignettes/import.pdf
Adding extra icons should be quite feasible. Find a postscript file (PS) and use grImport to turn it into xml.
However, is it possible to plot with different icons? I suspect so but I will need to learn more coding to make that certain, I think.
Second issue would seem to be to be able to change the number of rows - the dimensions argument does this...
Again this shouldn't be too difficult, I think...
Finally adding the random element might be a bit more difficult...
So here is some more reading:
https://davetang.org/muse/2019/02/22/importing-vector-images-into-r/
made adaptations to this line of work.
The icons in this package are in the inst folder.
They are named:
1.ps.xml
and represent post script files turned into xml with the grImport package.
https://cran.r-project.org/web/packages/grImport/vignettes/import.pdf
Adding extra icons should be quite feasible. Find a postscript file (PS) and use grImport to turn it into xml.
However, is it possible to plot with different icons? I suspect so but I will need to learn more coding to make that certain, I think.
Second issue would seem to be to be able to change the number of rows - the dimensions argument does this...
Again this shouldn't be too difficult, I think...
Finally adding the random element might be a bit more difficult...
So here is some more reading:
https://davetang.org/muse/2019/02/22/importing-vector-images-into-r/
icon arrays
Online tool:
http://www.iconarray.com/why
So R seems to have an options here:
http://www.iconarray.com/why
So R seems to have an options here:
- Persongraph - https://github.com/joelkuiper/personograph
- hciconarray - I'm not sure about this...
Are these the same as waffle plots:
Also there is this:
Some reading:
- Using Icon Arrays to Communicate Medical Risks: Overcoming Low Numeracy Mirta Galesic & Rocio Garcia-Retamero https://pdfs.semanticscholar.org/efae/8da10f88de01a87420dcfbf0853e19e50b99.pd Health Psychology 2009, Vol. 28, No. 2, 210 –216
Explaining risks: turning numerical data into meaningful pictures BMJ 2002; 324 doi: https://doi.org/10.1136/bmj.324.7341.827 (Published 06 April 2002)
Cite this as: BMJ 2002;324:827Understanding Uncertainty
Other links:
Subscribe to:
Posts (Atom)