How to make scatter plot with markers not overlapping
wwzhang2
Thu, 09/30/2010 - 02:16 pm
When I tried to plot a x-y 2D wave graph the marker always overlap when they have a same value. However, I hope to show the data in a way as the image attached showing that is the markers for the same or very close value won't totally overlap but scattered horizontally. Can I do this in Igor Pro?
Display yData vs xData
ModifyGraph mode=3,marker=8
SetAxis bottom, 0, 2
xData[0] -= .05
xData[2] += .05
September 30, 2010 at 03:51 pm - Permalink
So there is no way to automate this?
October 1, 2010 at 06:38 am - Permalink
You can automate almost anything in Igor provided that you have a precise definition of what you want to do and some programming experience.
October 1, 2010 at 08:15 am - Permalink
x14
In my opinion, this is a poor response from hrodstein. Of course you can automate almost anything with Igor if you have that knowledge. If you do not, however, and you would just like to use Igor to make a graph for a lab meeting that is coming up in 15 minutes, for example, you do not have time to mess around with programming.
It seems to me that this type of plot is a weak point in Igor and I know experienced users (> 10 years experience programming Igor) who will use other software to do this type of plot. Of course, I am open to anyone enlightening me on how to do this kind of plot easily in Igor. I have spent the last 2 hours searching the help documentation for answers and found none....so I came online and found this post. Fantastic!
April 17, 2012 at 01:01 pm - Permalink
Well, at that point, perhaps you would want to dump your data in to a spreadsheet application and see how far you get in 15 min to create a reasonable-looking (publication ready) graph that shows a non-linear regression line fit to decaying exponential data and shows the coefficient uncertainties.
The point being, ANY software will demand a certain level of effort to learn, and all software has limitations. You should go looking for the software tool that you know how to use and that does what you need in the time you need it to be done and at the expense you are willing to pay.
Yes, likely so. Yet, by comparison, how many users in the scientific / engineering community are clamoring for exactly this kind of feature in their plots?
Give me a moment or two after I get past these next days of coursework, and I could probably create it for you via a control panel with a slider. I've already got the framework and just have to work out the details of how best to sweep along the y-data and collect all x-data that have the same values for a given y-data set. Someone may have a clever insight.
--
J. J. Weimer
Chemistry / Chemical & Materials Engineering, UAHuntsville
April 17, 2012 at 05:29 pm - Permalink
Over the last 3 years I have wasted WEEKS of time trying to figure out how to do various unusual things in Igor. Having said that, I believe that Igor is the best software out there in its field. I look forward to becoming a better user. So.....since I have found my solution, please do not spend any moments or two of your valuable time trying to help me.
x14
April 20, 2012 at 01:14 pm - Permalink
An offer to code something that could work for you is considered smug and dismissive.
(sigh)
Glad that you found something to do what you needed.
ps ... Due respect given ... my initial response should have been less personally directed as ... "That is why it is sometimes better to go looking for the software tool that ...".
--
J. J. Weimer
Chemistry / Chemical & Materials Engineering, UAHuntsville
April 20, 2012 at 06:05 pm - Permalink
actually I have:
wave0 wave1 wave2
1 2 3
4 5 6
and want to have:
wave3 wave4
1 4
2 5
3 6
the last times a made it with several for-loops but there have to be a more uncomplicated way.. Can anyone help?
Thanks in advance
May 11, 2012 at 06:10 am - Permalink
No.
Put this line:
#include <Transpose Waves In Table>
into your Procedure window (Windows->Procedure Windows->Procedure Window) and then close the Procedure window. Now you have in the Table menu a new item, "Transpose Waves in Table". So put your waves in a table (Windows->New Table), select that menu item and answer a couple of questions in a dialog. You will get a wave for each row in the table.
By the way, you should probably have started a new forum thread for this question, as it has nothing to do with the original posting.
John Weeks
WaveMetrics, Inc.
support@wavemetrics.com
May 11, 2012 at 09:14 am - Permalink
Sorry. I thought his issue raised from the same problem.
Thank you very much. That helps a lot.
May 14, 2012 at 02:53 am - Permalink