How can I plot the Hertzsprung–Russell diagram diagram of stars using Mathematica? Pl. help in the plotting command in details including the process to import data on stars if any

  • 2
    $\begingroup$ Well what do you have so far? This website is for the implementation in Mathematica, so I would assume you'd already have raw data before wondering about how to code this. $\endgroup$ – Feyre Sep 6 '16 at 8:51
  • 1
    $\begingroup$ In principle, use StarData. But StarData is so slow that I just don't see how to get all the data in a reasonable amount of time. The command would be StarData[EntityClass["Star", All], {"EffectiveTemperature", "AbsoluteMagnitude"}]. $\endgroup$ – Szabolcs Sep 6 '16 at 8:54
  • 5
    $\begingroup$ Perhaps this would be helpful Evolution of Stars: Hertzsprung-Russell diagram $\endgroup$ – Sumit Sep 6 '16 at 9:03

The difficult bit is finding the data, as Szabolcs points out. Easier to find them online and import them as a dataset:

starData = 
ListPlot[starData[All, {"B-V", "Vmag"}], 
 ScalingFunctions -> {Identity, "Reverse"}, Frame -> True, 
 AspectRatio -> 1, FrameLabel -> {"B-V", "v"}, 
 PlotRange -> {{0, 2}, {15, 2}}]


  • $\begingroup$ Yes, but I need a full command, to plot the Luminosity vs Temperature of H-R diagram, including data for main sequence stars number as suitable $\endgroup$ – S.Islam Sep 6 '16 at 15:30
  • $\begingroup$ Pl. help me plot the HR diagram given in first page of google search: Main sequence - Wikipedia, the free encyclopedia. I need the data along with the plotting command. $\endgroup$ – S.Islam Sep 6 '16 at 16:22
  • 2
    $\begingroup$ This diagonal across the plot is the main sequence. Now for formatting in the same way as wikipedia I think you need to look at sumit's comment. All in all your question is "how can I plot the H-R diagram of stars and import some data?" and that's exactly what I do here. $\endgroup$ – gpap Sep 6 '16 at 17:21

In principle, the data can be retrieved within Mathematica using

StarData[All, {"EffectiveTemperature", "AbsoluteMagnitude"}]

In practice, this command is so slow that it is literally unusable.

Luckily, the older and deprecated AstronomicalData can get you the same data in a couple of minutes.

bv = AstronomicalData["Star", "BVColorIndex"];
magn = AstronomicalData["Star", "AbsoluteMagnitude"];

ListPlot[Transpose[{bv, magn}], 
 ScalingFunctions -> {Identity, "Reverse"}, Frame -> True, 
 Axes -> False, ImageSize -> Large]

@gpap already showed how to format nicely. This answer is only to show how to get the data using builtin data sources.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.