Thank you all for your replies above!!! I will try to reply back in order.
Lazur URH wrote:Welcome aboard!
At
this topic there are some plotting programs mentioned:
matplotlibveuszI belive they can plot curves based on some data, that you can export as svg and open in inkscape.
I have no idea how would you get such data though, as medical devices already make a graphical output?
Maybe retracing those manually/automatically can give reasonable results much easier.
Thanks for that. I have already tried to use Inkscrape and Veusz (I've found Veusz very nice!).
1. For Inkscrape, there's still one problem for me. Once I imported a .svg image, it has been grouped by the creator, and the problem for me is that whether there's any way to see how many subobjects (grouped or ungrouped) are present underneath the original image? I found it sometimes quite annoying as I ungrouped the original image (as the highest-level object), the subobjects underneath are often overlapping each other. Say I want to delete one particular subobject (perhaps down at 5 or 6 level), I need to ungroup the first level, and then find the particular object that contains the subobject I want to delete and ungroup it, and again loop what I did until we get to 5 or 6 level, after which I can finally delete that object.
It looks straightaway to me, though, if I am doing it in Photoshop, where we got layers and layers. I know in Inkscrape there's a 'layer' concept. But it seems to me that some .svg images group everything into an object and you can't see any particular objects in the 'layer' tab. Is there anyway to see all the subobjects within one particular object??
2. For Veusz, it is great! I am trying out something and importing it into Inkscrape in the near future. Hope I can get something out of it.
3. For the medical data, actually we have sources. So we can get the digital data and plot them via Veusz. Should be fine in this sense.
tylerdurden wrote:I have occasionally used LibreOffice to plot graphs and waveforms... The charts in LibreOffice are vector, so they can easily be copied and pasted into Inkscape.
stretchVert.png
Could be an option for me. Will try!

v1nce wrote:tidus_chan wrote:But what makes me very curious is that, how the author generate the ECG time series on the right?
So far I have been using Microsoft Visio 2010 and I am quite sure that it can't do this.
Don't have used V for years now but I think you can use nurbs. And, if you probably can't import raw data, I'm rather confident you can plot in excel and cut/paste into Vision
tidus_chan wrote: I used Photoshop quite a long time back, and I think it can't either.
Can Inkscape possibly import some sort of data and plot them along with .svg import file? Or, any other software you may know that can do this ??

If your data are (ordered) x,y couples you just have to write
<svg>
<path style="fill:none;stroke:#000000;" d="M %yourdata%" />
</svg>
in a text file named foo.svg and voila (minus the scaling but you can do it in inkscape)
1. Well, we can plot in excel and cut/paste into Visio. But it seems that doing so would only result in bitmap image as for the data plot in Visio. Have tried importing as an object in Visio from Excel, but doesn't work quite well.
2. Can't really understand your method here. Could you specify it in a bit more detail? Thank you for your time!!

1. First of all, thanks for sharing the tutorial and plotting in python!! I think at some point I may try it out!
2. Thanks! I think for the time being, I will try Veusz first. It seems it's easier for me to generate plot in .svg, which can be imported into Inkscrape!
3. Right now I have sources of real data. So synthetic ECG data is not in my schedule yet. But who knows I may try it out later! Thanks!
4. Not quite sure how to implement v1nce's method though, still new to Inkscrape.
5. Yes. I am trying to get myself used to Veusz.
tylerdurden wrote:Here's an un-touched waveform with ~3K datapoints, made just pasting v1nce's code to the dataset. No problem for inkscape, even on an old computer.
1. Sorry, can you specify how to do it?? To be honest, I am a bit lost in v1nce's method, though it seems quite easy to do.
Thanks for all your replies!
regards,
Tidus