How to present data in a large dataset (x is categorical, y is quantitative)? I'm working on a computational biology project, and my professor has given me data for over 1,000 enzymes (represented by a numerical index), namely average solubility, count (number of enzymes of each type), and standard deviation. 
I'm having some trouble determining how to best graphically summarize this data. My professor sent me a histogram/barplot(?) that ranked the enzyme indexes by average solubility. 
So I guess I have two main questions at the moment: 


*

*What is the best way to present the average solubility for such a large number of categorical indexes? My thought is that a dot plot would be a better choice because it would use less "ink". 

*My professor wants to include information regarding the standard deviation. However, because there are so many data points, the inclusion of error bars just results in a black mass on the graph (whether it is a dot plot or a barplot). My professor made a scatterplot of average solubility against the standard deviation, but I'm skeptical that such a graph is very meaningful. 
Edit: Just for better visual of the situation, here are the initial barplot and dot chart, both depicting average solubility by enzyme index: 


 A: Your professor's suggestion sounds reasonable to me. You could include histograms of solubility and standard deviation too in a facet grid.
I like polar plots at the moment, so if you want something a bit fancier, how about a circular dot plot coloured and sized by standard deviation:
df <- data.frame(Enzyme = 1:1000, Solubility = rgamma(1000,10,1), sd = 
      rgamma(1000,2,5))

ggplot(data = df, aes(x = Enzyme, y = Solubility)) + 
    geom_point(alpha = 0.5, aes(colour = sd, size = sd)) + 
    coord_polar() + 
    theme_bw() + 
    scale_size_continuous(range = c(0.5, 3), guide = F) + 
    scale_color_gradient(low = "blue", high = "red", name = "SD")

which gets you

If my polar plot obsession is too much, just remove coord_polar() to get

A: Ad 1) Ordering the enzymes by average solubility in descending order is a reasonable suggestion, unless the enzyme index has a meaning itself.
Ad 2) Try ordering the enzymes by descending coefficient of variation but show the average solubility on the y axis. 
Alternatively, order the enzymes as in 1) but showing either standard deviation or CV. More generally, organize the plots as small multiples, the common axis being the enzymes ordered as in 1) but showing each time another variable on the y axis.
As for encoding marks, use nothing too complicated. Just stick with either dots, thin bars, dashes, etc. No need for error bars unless you want to display sampling error - even then, simple does it, the small multiple approach being cleaner and thus more effective.
If the enzyme index has a meaning, e.g. it would stand for a hierarchical classification number, then you should organize the enzymes by such groups first. If the index is just a hash, then the above suggestions apply.
Finally, you will face the challenge populating the x axis with useful labels. The easiest solution is to make your plot interactive, allowing a zooming axis and tooltips. Absent interactivity, you probably need to compromise on label detail.
A: If you have a large dataset along with a large number of variables,  You might consider using correlation as well as factor analysis to ascertain relationships between variable and groups of variables. Not being a biologist,  then kitchen sink approach of eigenvectors might glean some insight hidden insights.  
