To create HR diagrams, I added something called jpgraph (free download) to an astronomy subfolder. jpgraph is a php implementation to generate graphs from data, a first attempt by me to use a third party visualization tool.
I then created this page to allow selection of sky sections for generating HR diagrams from a subset of the Tycho1 data. Tycho is too large for me to upload easily to my server (a million+ rows) so I uploaded a subset of the Tycho1 database, where the Hipparcos number is set.
The form on this page calls the graph generator to query the db using the user selections, and then generates an HR diagram.
Due to some clumsiness in the jpgraph implementation, there is a bit of a hack to generate a Y-axis from negative values at the top descending to large positive values. M (absolute magnitude) works that way.
There is another flaw in jpgraph relating to axes. I should be able to define the range of the y-axis, and all the data should conform to that range. If it works that way in jpgraph for negative to positive range on the axis, I have not found it, so I introduded two dummy values to mark the corners of the graph. There is no star at (-0.5, -5) or at (2.0, 15) in the dataset, those are the dummies. In a perfect world, I would set the ranges on the axes in the graph defintion code to handle the bounding rectangle that I want. The reason for a consistent bounding box is so each graph is comparable. but, this is totally ge (good enough).