# How to make a good scatter plot

I have the following cross section:

c = 0.117
At= 1.37375
sigma[Y_,m_] = ((c^2)/(256*Pi))*( (1/2) ( Y/m )  *Abs [At] )^2 *10^8


When I make ListPlot for sigma versus Y at m=173, I use the following:

list1 = Table[{Y, sigma[Y, 173]}, {Y, 0.8, 1.2, 0.01}]
ListPlot[list1, Frame -> True]


I get the following plot:

Actually I don't want the shape of the plot to be like that, I'd like to have a scatter plot like for instance:

The figures from [arXiv:1312.1935 [hep-ph]]. kaba which is plotted in (a) and (b) is just a cross section multiplied by a branching ratio, (I think Mathematicians familiar with these expressions), so kaba is not so far from the cross section sigma[Y,m] I mentioned ..

Come to my simple (didnt't work) trail to make plot like these. I read in some examples of ListPlot in MMA that RandomReal can be used to generate more points to have no just a straight line, but when I write

list1 := Table[{Y, sigma[Y, 173]+RandomReal[]}, {Y, 0.8, 1.2, 0.01}]
ListPlot[list1, Frame -> True]


I get

very different points than my first plot and even when the steps decreased for say 0.001 I couldn't get a good scatter plot like (b) or (a) in the referred figure ,

so any help to write a better code to enhance my plot ?

• This little bit strange @Sumit, I'm asking in general how to make a good scatter plot in MMA. Is not this like that post mathematica.stackexchange.com/questions/57423/… ? at least I wrote some simplified example and get a sample how I the output could be !
– S.S.
Commented May 30, 2016 at 8:11
• Are you asking in general how to make a scatter plot with noise? What I understand from your question is that you want to produce the example plot s from your function. If that is not the case I will retract my vote. Commented May 30, 2016 at 9:18
• I made some edit in your question. If you don't like it you can go back to your earlier question. And don't get dishearten. My first question was also deleted and now understand how foolish it was :) Commented May 30, 2016 at 9:38

Here is a generic answer. Let say you have a function f[x] and you want to make a noisy plot out of it.

f[x_] := Sin[x];
list1 = Table[{Y, f[Y]}, {Y, 0., 12, 0.01}];
ramp = 0.2  (*noise amplitude*)
list2 = Table[{Y, f[Y] + RandomReal[{-ramp, ramp}]}, {Y, 0., 12, 0.01}];
Show[ListPlot[list2, Frame -> True],
ListLinePlot[list1, Frame -> True, PlotStyle -> Red]]


ramp = 0.005
Show[ListLinePlot[Table[{Y, sigma[Y, m]}, {m, 100, 500, 100},{Y, 0.8, 1.2, 0.01}],
Frame -> True, PlotLegends -> Range[100, 500, 100]],
ListPlot[Table[{Y, sigma[Y, m] + RandomReal[{-ramp, ramp}]}, {m, 100, 500, 100},
{Y, 0.8, 1.2, 0.001}], Frame -> True]]


• Hi @Sumit. thanx for your effort. But i don't want extra distortion to the function I'm plotting. I just do not know how to make well scatter plots like those in the figure I referred to. .
– S.S.
Commented May 30, 2016 at 10:24
• @S.S Given your question formulation, it seems that Summit answer is what you want. Do you expect sigma[Y,m] to produce the noisy scatter plot? Commented May 30, 2016 at 12:17

Unfortunately, I can't comment due to lack of reputation, so I hope I might be excused for writing as an answer what should be a comment. I'd like to have a link to your posted scatter plots. They look to me like either experimental results from particle physics experiments or numerical simulation data from theoretical particle physics, Standard Model for the Higg's boson I'd suppose. In the case of experimental data, it should be obvious where the clutter comes from. In the case of the numerical results, we're probably dealing with highly elaborated numerical calculations which do have a certain error margin ("asymptotic convergence" in Quantum Field Theories when doing Feynman diagram expansion, Quantum Field theory on finite meshes etc.) which produces the clutter. In your case, you have an analytical, smooth function you are evaluating. Where should any clutter come from if you plot something like that? If you do want clutter in your plot and you have a reason coming from the physics of the problem, I would suggest varying your constants with some uncertainty variation (a white noise or a Gaussian within the uncertainty limits) so that for each point of the plots, your physical constants vary slightly which will result in some kind of clutter. I however question whether you can expect any clutter in the first place.

• Hay @Sanya, the figures from this paper [arXiv:1312.1935 [hep-ph]] Fig. 3. kaba which is plotted in (a) and (b) is just a cross section multiplied by a branching ratio, (I think Mathematicians familiar with these expressions), so kaba is not so far from the cross section sigma[Y,m] I mentioned .. so no uncertainties here, because in the plots the dependence of kaba on m or some coupling X is analytically drawn, may be as the example I wrote ..
– S.S.
Commented May 30, 2016 at 14:45
• @Anton Antonov, please see my question, I edit it.
– S.S.
Commented May 30, 2016 at 14:51
• Seeing the paper, I find my hunch to be correct. This paper deals with one-loop contributions. It is pretty much in their nature to not be perfectly smooth as they are expansions (I do sincerely hope you do have the required background in quantum field theories). Your analytical expression will NOT IN ANY REASONABLE WAY show the same "noisy" plot as their involved numerical approximation. Commented May 30, 2016 at 15:24
• Oh yes, I think I know the one loop correction in QFT, thanks for your advise .. but what if I said that my real calculation is using similar one loop production cross section and decay width, even I try to plot that kaba (but of course not in MSSM). It's good point you looked at the paper to actually realize what I'm going on. I thought in my question it's too tidy to write all these one loop formulas with parameters, so I mentioned simplified example ..
– S.S.
Commented May 30, 2016 at 15:42
• Your simplified one loop correction - if it is the one above - is an analytical expression, their's not. Furtheron, and that might be the main point, their numerical scheme is probably less acurate than plotting an analytical function. I think this is what it really boils down to. Commented May 30, 2016 at 15:52