I have about five thousand observations which I would like to plot in a graph. Since the range of values is wide (from 1 to 108,000, with 90% of the observation taking a value of 2, 99% of the observations taking a value between 1 and 6, and just one observation taking the max value of 108,000) I thought that the only way to represent them graphically would be with a volume graph--that is, 3D. The circumference of the sphere will range from 3.89 to 185.62 (then possibly--keeping the same ratio--0.08cm to 3.7cm) in the figure.
This is my data along with the circumference (in cm) of a sphere of volume equivalent to the value of Var1

EDIT: TikZ in drawing a circle requires as attribute the radius not the circumference as I wrongly thought. I correct the formula below accordingly.
Of course, the graph doesn't need to show clearly all the small values. What I would like to give is the idea of a big sphere floating in a sea of micro spheres. Something like this:

First let's define a script to get the radius from the volume of the sphere. The R script is:
radiusFromVolume <- function(volume){
radius <- (volume/((4/3)*pi))^(1/3)
radius <- radius/10
radius <- round(radius, digits=2)
return(radius)
}
From the R script I will obtain a vector of radius values. Now, the hard part. On these values I would like to draw a sphere for each item in the vector and dispose them (randomly?) in my figure.
Thanks to this answer (by Tom Bombadil) I come out with this basic script which gives me two spheres of radius 0.06 and 2.96.
\documentclass[a4paper]{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) circle (2.96cm);
\shade[ball color=blue!10!white,opacity=0.70] (0,0) circle (3.7cm);
\draw (3,0) circle (0.06cm);
\shade[ball color=blue!10!white,opacity=0.70] (3,0) circle (0.08cm);
\end{tikzpicture}
\end{document}
Moving from this script, in pseudocode what I am trying to get through is:
vector <- {volume values} % The values are actually ordered from bigger to smaller to avoid the small spheres to be covered by the biggest spheres
figure_box <- {(-4,-4),(4,4)}
\begin{tikzpicture}
for (item in vector) {
size <- item
coordinates <- ( random(>-4 && <4) , random(>-4 && <4) )
\draw (coordinates) circle (size cm);
\shade[ball color=blue!10!white,opacity=0.70] (coordinates) circle (size cm);
}
\end{tikzpicture}
Is it possible to obtain with TeX and tikz?
EDIT:
Why not to use a log/log scale? The problem with my data is that I have one big outlier. A log-log plot of my data will be something like this

or like this

Clearly my outlier--for being so far off the other values--doesn't even show (you can only tell it is there from the X scale). Also log scales are not that easily understood by the median viewer. (On the contrary, differences in ball volumes are much easier to see...)

