I have a plot in SVG format (attached), which I'd like to customise in multiple ways. It is unknown to me what program generated this SVG. I thought this task would be intuitive to do in Inkscape, but I am struggling. I am a new user, and have v1.1.
For instance, I'd like to
- change the fill colour of lines, but the FillAndStroke pane shows me no options (see screenshot1.jpg)
- edit the text along the plot axes, but the TextAndFont pane again shows me no changeable option, and clicking on text objects using the text tool (F8) doesn't allow editing (see screenshot2.jpg)
I think I am probably not getting something really basic about how Inkscape works?! Either that, or the SVG file that I have is just not editable this way.
Any suggestions would be very much appreciated, thank you!
Can you check status bar when selecting objects? I guess it's all grouped. The origin app can be determined by open the file with a text-editor in most cases in the first few lines.
Thanks! Indeed, opening up the file in a text editor revealed the plot was made with matplotlib, so in future it'll probably be easier to customise everything that way.
For now, I tryied to ungroup those objects, or to select them invidivdually by Ctrl+click, but still none of the text labels is editable.
The text is implemented in a slightly odd way. Rather than being stored as text strings, each letter is a separate object. But the visible letters are actually clones, linked to paths that are in the <defs> section of the SVG (i.e. not visible on the canvas).
So Polygon's suggestion that the text has been converted to paths (and is not editable as text) is correct, but there's a further level of redirection going on which makes this practically impossible to edit.
My guess is that matplotlib converts text to paths in order to prevent problems if the font isn't present on the target machine. But in order to reduce the file size it only stores a single copy of each glyph then creates clones (<use> elements in the SVG file) for each separate use of the character on the chart. The result is a smaller file that isn't dependent on the font being installed, but which is very impractical to edit.
We can unlink all clones - file size increases - but it doesn´t make editable text of course. (There exist online-tools that can convert back into text via PDF/OCR- Optical Character Recognition).
Hi all,
I have a plot in SVG format (attached), which I'd like to customise in multiple ways. It is unknown to me what program generated this SVG. I thought this task would be intuitive to do in Inkscape, but I am struggling. I am a new user, and have v1.1.
For instance, I'd like to
- change the fill colour of lines, but the FillAndStroke pane shows me no options (see screenshot1.jpg)
- edit the text along the plot axes, but the TextAndFont pane again shows me no changeable option, and clicking on text objects using the text tool (F8) doesn't allow editing (see screenshot2.jpg)
I think I am probably not getting something really basic about how Inkscape works?! Either that, or the SVG file that I have is just not editable this way.
Any suggestions would be very much appreciated, thank you!
Can you check status bar when selecting objects? I guess it's all grouped. The origin app can be determined by open the file with a text-editor in most cases in the first few lines.
Thanks! Indeed, opening up the file in a text editor revealed the plot was made with matplotlib, so in future it'll probably be easier to customise everything that way.
For now, I tryied to ungroup those objects, or to select them invidivdually by Ctrl+click, but still none of the text labels is editable.
Are you able to do this with that SVG file?
Thanks again!
Will try later. Probably the text is converted to Path which you can check at the Status bar. Then text is no longer editable text.
The text is implemented in a slightly odd way. Rather than being stored as text strings, each letter is a separate object. But the visible letters are actually clones, linked to paths that are in the <defs> section of the SVG (i.e. not visible on the canvas).
So Polygon's suggestion that the text has been converted to paths (and is not editable as text) is correct, but there's a further level of redirection going on which makes this practically impossible to edit.
My guess is that matplotlib converts text to paths in order to prevent problems if the font isn't present on the target machine. But in order to reduce the file size it only stores a single copy of each glyph then creates clones (<use> elements in the SVG file) for each separate use of the character on the chart. The result is a smaller file that isn't dependent on the font being installed, but which is very impractical to edit.
We can unlink all clones - file size increases - but it doesn´t make editable text of course. (There exist online-tools that can convert back into text via PDF/OCR- Optical Character Recognition).
Got it, thanks. Will just go to matplotlib and edit the plot elements there then :) Many thanks again.