Hertzsprung-Russell diagram (xfig example)

From Remeis-Wiki
Jump to navigation Jump to search

Hertzsprung-Russell diagram

Hr diagram.png

% -------------
% axes, labels:
variable xfig = xfig_plot_new(12,9);
variable xmin = log10(3), xmax = log10(47), ymin = -1., ymax = 7.; % x-axis is in kilo Kelvin
xfig.world(xmax, xmin, ymin, ymax);
xfig.axis(; ticlabels2=0, ticlabels_confine=0);
variable xmajor = log10([5:45:5]);
variable xminor = log10([1:50:1]);
variable x2major = [ymin:ymax:0.1];
variable x2minor = [ymin:ymax:0.02];
xfig.axis(; depth=0, tic_depth=0, ticlabels_confine=0);
xfig.x1axis(; ticlabels=["O","B","A","F","G","K","M"], major=log10([32,18,10,7,5.5,4.25,3.25]), major_width=0);
xfig.xlabel("Spectral class");
xfig.x2axis(; ticlabels=["5","10","15","20","25","30","35","40","45"R], major=xmajor, minor=xminor, format="%.0f");
xfig.x2label("$T_{\mathrm{eff}}\,(10^3\,\mathrm{K})$"R);
xfig.y2axis(; ticlabels=0);
xfig.ylabel("$\log (L/{L}_{\odot})$"R);
% -------------
% --------------------
% evolutionary tracks:
% from Ekstroem et al. 2012, A&A, 537, A146
variable tracks = struct{ m1, m3, m7, m20 };
tracks.m1 = struct{ log_teff, log_l }; % track for 1 solar mass
tracks.m3 = struct{ log_teff, log_l }; % track for 3 solar mass
tracks.m7 = struct{ log_teff, log_l }; % track for 7 solar mass
tracks.m20 = struct{ log_teff, log_l }; % track for 20 solar mass
tracks.m1.log_teff = [3.754330, 3.755300, 3.755330, 3.755400, 3.755480, 3.755580, 3.755700, 3.755810, 3.755940, 3.756070, 3.756190, 3.756330, 3.756470, 3.756610, 3.756730, 3.756860, 3.757000, 3.757150, 3.757270, 3.757420, 3.757570, 3.757700, 3.757850, 3.757980, 3.758140, 3.758270, 3.758420, 3.758580, 3.758710, 3.758870, 3.759000, 3.759140, 3.759290, 3.759430, 3.759610, 3.759770, 3.759930, 3.760120, 3.760280, 3.760440, 3.760600, 3.760780, 3.760940, 3.761100, 3.761250, 3.761410, 3.761560, 3.761670, 3.761800, 3.761950, 3.762060, 3.762180, 3.762300, 3.762410, 3.762520, 3.762620, 3.762750, 3.762820, 3.762880, 3.762950, 3.763020, 3.763080, 3.763140, 3.763190, 3.763240, 3.763290, 3.763330, 3.763370, 3.763400, 3.763430, 3.763450, 3.763470, 3.763480, 3.763490, 3.763480, 3.763470, 3.763450, 3.763410, 3.763360, 3.763290, 3.763220, 3.763140, 3.763040, 3.762940, 3.762850, 3.762800, 3.762770, 3.762750, 3.762730, 3.762680, 3.762650, 3.762630, 3.762610, 3.762560, 3.762530, 3.762480, 3.762460, 3.762410, 3.762390, 3.762350, 3.762300, 3.762280, 3.762230, 3.762180, 3.762120, 3.762070, 3.762010, 3.761920, 3.761860, 3.761740, 3.761640, 3.761580, 3.761520, 3.761450, 3.761440, 3.761400, 3.761350, 3.761300, 3.761230, 3.761170, 3.761100, 3.761030, 3.760930, 3.760850, 3.760760, 3.760650, 3.760490, 3.760360, 3.760230, 3.760080, 3.759870, 3.759710, 3.759530, 3.759340, 3.759070, 3.758850, 3.758620, 3.758370, 3.758020, 3.757730, 3.757430, 3.757110, 3.756620, 3.756230, 3.755810, 3.755370, 3.754740, 3.754240, 3.753690, 3.753120, 3.752290, 3.751620, 3.750900, 3.750130, 3.749010, 3.748020, 3.746900, 3.745720, 3.743960, 3.742490, 3.740860, 3.739060, 3.737080, 3.734070, 3.731440, 3.728450, 3.724750, 3.718820, 3.713870, 3.709260, 3.703280, 3.697400, 3.692710, 3.688030, 3.684480, 3.682560, 3.680620, 3.678870, 3.677430, 3.676030, 3.674470, 3.672500, 3.670030, 3.667120, 3.663040, 3.656530, 3.647770, 3.646700, 3.626800, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410, 3.556410];
tracks.m1.log_l = [-0.138050, -0.129380, -0.126810, -0.124360, -0.122260, -0.119770, -0.117260, -0.114720, -0.112130, -0.109510, -0.107250, -0.104540, -0.101830, -0.099090, -0.096690, -0.093890, -0.091050, -0.088180, -0.085690, -0.082760, -0.079800, -0.077230, -0.074220, -0.071610, -0.068540, -0.065890, -0.062750, -0.059600, -0.056880, -0.053670, -0.050910, -0.048120, -0.044830, -0.042000, -0.038660, -0.035760, -0.032850, -0.029430, -0.026470, -0.023490, -0.020480, -0.016960, -0.013920, -0.010850, -0.007770, -0.004660, -0.001540, 0.001590, 0.004760, 0.008470, 0.011680, 0.014910, 0.018160, 0.020890, 0.024180, 0.027500, 0.030830, 0.034170, 0.037550, 0.040950, 0.044380, 0.047800, 0.051270, 0.054190, 0.057710, 0.061270, 0.064840, 0.068450, 0.072080, 0.075120, 0.078800, 0.082480, 0.086200, 0.089300, 0.093030, 0.096140, 0.099880, 0.102980, 0.106070, 0.109160, 0.112220, 0.115260, 0.118280, 0.121310, 0.123730, 0.124950, 0.125560, 0.126180, 0.126790, 0.128040, 0.128660, 0.129290, 0.129920, 0.131190, 0.131840, 0.133140, 0.133800, 0.135130, 0.135810, 0.137170, 0.138550, 0.139250, 0.140630, 0.142070, 0.144260, 0.145740, 0.148010, 0.151080, 0.153420, 0.157380, 0.160590, 0.163010, 0.165420, 0.167860, 0.171150, 0.173650, 0.176170, 0.178710, 0.182130, 0.184720, 0.187330, 0.189970, 0.193520, 0.196210, 0.198920, 0.201650, 0.205330, 0.208130, 0.210940, 0.213780, 0.217610, 0.220520, 0.223440, 0.226400, 0.230380, 0.233390, 0.236430, 0.239500, 0.243630, 0.246750, 0.249900, 0.253070, 0.257320, 0.260540, 0.263770, 0.267020, 0.271370, 0.274650, 0.277930, 0.281210, 0.285580, 0.288840, 0.292080, 0.295300, 0.299510, 0.302540, 0.305550, 0.308480, 0.312160, 0.314740, 0.317060, 0.319060, 0.320830, 0.322500, 0.322870, 0.322620, 0.321470, 0.318760, 0.316620, 0.315640, 0.317440, 0.324700, 0.337600, 0.362110, 0.393770, 0.418910, 0.461060, 0.504440, 0.550130, 0.604380, 0.664270, 0.729320, 0.807500, 0.897740, 1.007900, 1.152030, 1.342320, 1.390360, 1.719880, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140, 2.638140];
tracks.m3.log_teff = [4.104477, 4.101130, 4.098784, 4.096932, 4.095520, 4.094152, 4.092906, 4.091568, 4.090532, 4.089462, 4.088575, 4.087603, 4.086631, 4.085654, 4.084584, 4.083618, 4.082794, 4.081863, 4.080880, 4.079909, 4.078954, 4.077811, 4.076814, 4.075977, 4.074953, 4.073932, 4.072905, 4.071846, 4.070604, 4.069515, 4.068425, 4.067474, 4.066353, 4.065180, 4.063810, 4.062611, 4.061387, 4.060169, 4.058875, 4.057809, 4.056518, 4.054984, 4.053684, 4.052311, 4.050895, 4.049511, 4.048311, 4.046844, 4.045140, 4.043617, 4.042110, 4.040580, 4.038967, 4.037586, 4.035944, 4.034328, 4.032409, 4.030733, 4.028975, 4.027469, 4.025674, 4.023859, 4.022054, 4.019996, 4.018106, 4.016439, 4.014562, 4.012628, 4.010719, 4.008746, 4.006818, 4.004866, 4.002865, 4.000890, 3.998964, 3.997042, 3.995170, 3.993303, 3.991514, 3.989837, 3.988263, 3.986853, 3.985639, 3.984805, 3.984479, 3.984499, 3.984547, 3.984648, 3.984781, 3.984972, 3.985252, 3.985549, 3.985906, 3.986334, 3.986842, 3.987464, 3.988192, 3.989086, 3.990155, 3.991399, 3.992620, 3.994326, 3.996373, 3.998494, 4.001379, 4.005055, 4.009778, 4.015627, 4.024013, 4.035578, 4.027620, 4.019198, 4.014199, 4.010884, 4.008090, 4.005473, 4.003593, 4.001870, 3.999673, 3.998636, 3.996650, 3.995367, 3.992839, 3.991586, 3.990325, 3.988684, 3.987023, 3.985322, 3.983579, 3.981786, 3.981786, 3.979712, 3.977541, 3.975261, 3.972866, 3.970342, 3.970342, 3.967673, 3.964838, 3.961813, 3.958571, 3.955076, 3.955076, 3.952064, 3.948853, 3.941737, 3.937805, 3.933549, 3.928990, 3.924054, 3.918705, 3.912862, 3.907195, 3.901103, 3.894541, 3.887346, 3.879446, 3.861010, 3.850280, 3.838353, 3.824996, 3.807248, 3.797427, 3.777874, 3.762034, 3.748710, 3.736734, 3.724115, 3.715732, 3.707236, 3.696032, 3.686913, 3.681703, 3.677099, 3.672587, 3.668592, 3.665801, 3.663002, 3.659846, 3.657180, 3.654128, 3.651128, 3.648095, 3.645231, 3.642391, 3.639711, 3.637484, 3.634593, 3.632145, 3.635666, 3.641828, 3.643987, 3.646684, 3.649874, 3.652920, 3.657066, 3.660748, 3.664139, 3.667093, 3.671135, 3.674116, 3.678197, 3.680127, 3.682554, 3.684970, 3.687178, 3.688573, 3.690152, 3.693206, 3.695129, 3.696329, 3.697237, 3.697691, 3.697918, 3.697847, 3.697883, 3.697758, 3.697609, 3.697464, 3.697333, 3.697136, 3.697183, 3.697142, 3.697143, 3.697211, 3.697227, 3.697261, 3.697284, 3.697322, 3.697328, 3.697378, 3.697393, 3.697317, 3.697438, 3.697463, 3.697494, 3.697490, 3.697448, 3.697510, 3.697517, 3.697539, 3.697554, 3.697560, 3.697585, 3.697587, 3.697635, 3.697641, 3.697657, 3.697695, 3.697711, 3.697749, 3.697767, 3.697795, 3.697817, 3.697833, 3.697856, 3.697868, 3.697910, 3.697926, 3.697937, 3.697953, 3.697917, 3.697939, 3.697946, 3.698006, 3.697967, 3.697968, 3.697975, 3.697975, 3.697966, 3.697966, 3.698002, 3.698044, 3.698057, 3.698066, 3.698132, 3.698023, 3.698025, 3.697961, 3.698303, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.698114, 3.697860, 3.697296, 3.697150, 3.696984, 3.696565, 3.696449, 3.696182, 3.695561, 3.695231, 3.694880, 3.694011, 3.693476, 3.692530, 3.691571, 3.690567, 3.688184, 3.686590, 3.684183, 3.680467, 3.664628];
tracks.m3.log_l = [1.898976, 1.898157, 1.900368, 1.903228, 1.906229, 1.909473, 1.912669, 1.915631, 1.919331, 1.922666, 1.926119, 1.929846, 1.933160, 1.936508, 1.940077, 1.943397, 1.946812, 1.950456, 1.953744, 1.956987, 1.960515, 1.963574, 1.966817, 1.970432, 1.973557, 1.976631, 1.980111, 1.983128, 1.986004, 1.989179, 1.992273, 1.995433, 1.998425, 2.001378, 2.004035, 2.006924, 2.009910, 2.012560, 2.015303, 2.018372, 2.020963, 2.023431, 2.026095, 2.028576, 2.031044, 2.033705, 2.036241, 2.038570, 2.040540, 2.043114, 2.045241, 2.047596, 2.049719, 2.051901, 2.054142, 2.056032, 2.057709, 2.059767, 2.061599, 2.063530, 2.065377, 2.067040, 2.068619, 2.070105, 2.071634, 2.073346, 2.074828, 2.076166, 2.077634, 2.078898, 2.080094, 2.081460, 2.082636, 2.083775, 2.085083, 2.086236, 2.087446, 2.088730, 2.089970, 2.091433, 2.092853, 2.094588, 2.096468, 2.098816, 2.101593, 2.102334, 2.102991, 2.103922, 2.104768, 2.105640, 2.106693, 2.107692, 2.108753, 2.109920, 2.111194, 2.112641, 2.114297, 2.116148, 2.118172, 2.120395, 2.122534, 2.125387, 2.128790, 2.132439, 2.137256, 2.142846, 2.150769, 2.160729, 2.175909, 2.197592, 2.175125, 2.185301, 2.197447, 2.202487, 2.205639, 2.208038, 2.209410, 2.210467, 2.211650, 2.212162, 2.213094, 2.213552, 2.214353, 2.214709, 2.215033, 2.215437, 2.215775, 2.216047, 2.216275, 2.216510, 2.216510, 2.216610, 2.216638, 2.216595, 2.216464, 2.216231, 2.216231, 2.215881, 2.215414, 2.214775, 2.213947, 2.212979, 2.212979, 2.211950, 2.210762, 2.207781, 2.205965, 2.203840, 2.201414, 2.198580, 2.195333, 2.191549, 2.187744, 2.183283, 2.178384, 2.172654, 2.165949, 2.149017, 2.138421, 2.126120, 2.111449, 2.090319, 2.077763, 2.047863, 2.010163, 1.962986, 1.910611, 1.839891, 1.803651, 1.793080, 1.821048, 1.881206, 1.940541, 1.987798, 2.033413, 2.077010, 2.113085, 2.150113, 2.187340, 2.223158, 2.261067, 2.296868, 2.333229, 2.370631, 2.407406, 2.441670, 2.479107, 2.513618, 2.542172, 2.501533, 2.418088, 2.390079, 2.357468, 2.324004, 2.289329, 2.246575, 2.195523, 2.155987, 2.112991, 2.068237, 2.034009, 1.994281, 1.971123, 1.949987, 1.930177, 1.912312, 1.904220, 1.896871, 1.889495, 1.888052, 1.888889, 1.890312, 1.891323, 1.892204, 1.892774, 1.893772, 1.894377, 1.895038, 1.895777, 1.896499, 1.897036, 1.898205, 1.899111, 1.900117, 1.901103, 1.902077, 1.902980, 1.904079, 1.904962, 1.905917, 1.906815, 1.907734, 1.908249, 1.909652, 1.910666, 1.911600, 1.912941, 1.913630, 1.914763, 1.915684, 1.916661, 1.917600, 1.918530, 1.919604, 1.920576, 1.921636, 1.922639, 1.923660, 1.925384, 1.926319, 1.927370, 1.928294, 1.929379, 1.930928, 1.932756, 1.933701, 1.934644, 1.938850, 1.939751, 1.940648, 1.941545, 1.942451, 1.943542, 1.944417, 1.945651, 1.946251, 1.947151, 1.948034, 1.948879, 1.949817, 1.950968, 1.952394, 1.953985, 1.955612, 1.957425, 1.961586, 1.962245, 1.963240, 1.964008, 1.978211, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.977363, 1.984200, 1.993446, 1.997043, 2.000126, 2.007648, 2.010280, 2.012891, 2.019092, 2.020792, 2.024098, 2.028754, 2.030630, 2.034344, 2.034319, 2.035530, 2.044368, 2.048004, 2.053374, 2.067782, 2.196314];
tracks.m7.log_teff = [4.332096, 4.328320, 4.326038, 4.324511, 4.323259, 4.322116, 4.321212, 4.320357, 4.319573, 4.318899, 4.318188, 4.317513, 4.316760, 4.316124, 4.315453, 4.314796, 4.314137, 4.313486, 4.312861, 4.312146, 4.311447, 4.310766, 4.310062, 4.309355, 4.308616, 4.307887, 4.307114, 4.306342, 4.305527, 4.304748, 4.303917, 4.303072, 4.302205, 4.301346, 4.300464, 4.299560, 4.298623, 4.297675, 4.296707, 4.295747, 4.294726, 4.293709, 4.292675, 4.291631, 4.290535, 4.289442, 4.288291, 4.287137, 4.285987, 4.284830, 4.283688, 4.282377, 4.281137, 4.279848, 4.278558, 4.277258, 4.275919, 4.274649, 4.273265, 4.271796, 4.270365, 4.268891, 4.267504, 4.266029, 4.264506, 4.262972, 4.261453, 4.259881, 4.258287, 4.256736, 4.255117, 4.253564, 4.251932, 4.250330, 4.248753, 4.247167, 4.245650, 4.244133, 4.242741, 4.241340, 4.240085, 4.239005, 4.238083, 4.237530, 4.237449, 4.237502, 4.237544, 4.237651, 4.237784, 4.237949, 4.238114, 4.238347, 4.238624, 4.238950, 4.239345, 4.239774, 4.240287, 4.240864, 4.241547, 4.242350, 4.243391, 4.244668, 4.245955, 4.247738, 4.249902, 4.252660, 4.256188, 4.261033, 4.268576, 4.278758, 4.276700, 4.271091, 4.264163, 4.257535, 4.251551, 4.246792, 4.242080, 4.238544, 4.233549, 4.230376, 4.227304, 4.222256, 4.218787, 4.215385, 4.213696, 4.210338, 4.206665, 4.202654, 4.198614, 4.196575, 4.192425, 4.188184, 4.186028, 4.181635, 4.177107, 4.174761, 4.169952, 4.167482, 4.162382, 4.157073, 4.154295, 4.148542, 4.142472, 4.139310, 4.132646, 4.125541, 4.121834, 4.114001, 4.105536, 4.101063, 4.091519, 4.081102, 4.075528, 4.063547, 4.050320, 4.043161, 4.030129, 4.018452, 3.998943, 3.984378, 3.968375, 3.943353, 3.921980, 3.891749, 3.865308, 3.826374, 3.779667, 3.725678, 3.681198, 3.656651, 3.641506, 3.627405, 3.613375, 3.607156, 3.604405, 3.602538, 3.601806, 3.599727, 3.599603, 3.600013, 3.599306, 3.598872, 3.597960, 3.597543, 3.597011, 3.596631, 3.596427, 3.596191, 3.595973, 3.595834, 3.597160, 3.598375, 3.599965, 3.600833, 3.600831, 3.601515, 3.602871, 3.605483, 3.606549, 3.605555, 3.607951, 3.610090, 3.611943, 3.613236, 3.614876, 3.616421, 3.617434, 3.618779, 3.621073, 3.622618, 3.622776, 3.623235, 3.623353, 3.623821, 3.623997, 3.624226, 3.625528, 3.625735, 3.625954, 3.626158, 3.626497, 3.626846, 3.627171, 3.627456, 3.627730, 3.627993, 3.628300, 3.628602, 3.628912, 3.629263, 3.630437, 3.630933, 3.631360, 3.631842, 3.632390, 3.633723, 3.634783, 3.665681, 3.683321, 3.703236, 3.723511, 3.739929, 3.752854, 3.762691, 3.771399, 3.778577, 3.785004, 3.790939, 3.796565, 3.802501, 3.807311, 3.811833, 3.815278, 3.818532, 3.876135, 3.877868, 3.879691, 3.881684, 3.883706, 3.886060, 3.887932, 3.890105, 3.892588, 3.894283, 3.895841, 3.897358, 3.898810, 3.900199, 3.901722, 3.903171, 3.904857, 3.906437, 3.908123, 3.909673, 3.912379, 3.913959, 3.915249, 3.916732, 3.918209, 3.966178, 3.966115, 3.965955, 3.965722, 3.965449, 3.965165, 3.964824, 3.964451, 3.964058, 3.963271, 3.963075, 3.962749, 3.962339, 3.961805, 3.961155, 3.960438, 3.959722, 3.959019, 3.958136, 3.957191, 3.956146, 3.955251, 3.954283, 3.953136, 3.951916, 3.950582, 3.949186, 3.947747, 3.946258, 3.944704, 3.943043, 3.941355, 3.939590, 3.937691, 3.935705, 3.933664, 3.931502, 3.929228, 3.926949, 3.924556, 3.922072, 3.919503, 3.916736, 3.913864, 3.910855, 3.907689, 3.904399, 3.900891, 3.897316, 3.893520, 3.889467, 3.885164, 3.880593, 3.875572, 3.870274, 3.864655, 3.858520, 3.851880, 3.844598, 3.836846, 3.827031, 3.816640, 3.804874, 3.791261, 3.774941, 3.754821, 3.729229, 3.695042, 3.659592, 3.643731, 3.627150, 3.626133, 3.625057, 3.624490, 3.623345, 3.622775, 3.621631, 3.621054, 3.619903, 3.619290, 3.618071, 3.617455, 3.616156, 3.614861, 3.614229, 3.612866, 3.612142, 3.610937, 3.610142, 3.610602, 3.602978];
tracks.m7.log_l = [3.220316, 3.222236, 3.225934, 3.229981, 3.234307, 3.238596, 3.242995, 3.247321, 3.251924, 3.256357, 3.260792, 3.265291, 3.269632, 3.274029, 3.278296, 3.282821, 3.286990, 3.291400, 3.295676, 3.299967, 3.304149, 3.308462, 3.312527, 3.316832, 3.320878, 3.325039, 3.329032, 3.333184, 3.337169, 3.341168, 3.345029, 3.349119, 3.352956, 3.356905, 3.360594, 3.364509, 3.368194, 3.372097, 3.375746, 3.379510, 3.383115, 3.386828, 3.390284, 3.393923, 3.397403, 3.400997, 3.404437, 3.407898, 3.411295, 3.414547, 3.418016, 3.421233, 3.424598, 3.427808, 3.431126, 3.434182, 3.437394, 3.440545, 3.443572, 3.446675, 3.449643, 3.452622, 3.455812, 3.458679, 3.461540, 3.464590, 3.467340, 3.470130, 3.472974, 3.475755, 3.478522, 3.481117, 3.484004, 3.486664, 3.489290, 3.491944, 3.494787, 3.497446, 3.500011, 3.502895, 3.505690, 3.508442, 3.511563, 3.514660, 3.517971, 3.518808, 3.519594, 3.520310, 3.521011, 3.521737, 3.522363, 3.523141, 3.523951, 3.524827, 3.525737, 3.526626, 3.527718, 3.528864, 3.529965, 3.531167, 3.532609, 3.534299, 3.535914, 3.538223, 3.540880, 3.544190, 3.548222, 3.554541, 3.565152, 3.583014, 3.576169, 3.563020, 3.554800, 3.556295, 3.564870, 3.573734, 3.582066, 3.587452, 3.593816, 3.597135, 3.599927, 3.603747, 3.605914, 3.607810, 3.608631, 3.610085, 3.611448, 3.612663, 3.613631, 3.614050, 3.614736, 3.615239, 3.615435, 3.615717, 3.615799, 3.615779, 3.615642, 3.615516, 3.615084, 3.614467, 3.614084, 3.613218, 3.612078, 3.611389, 3.609764, 3.607780, 3.606682, 3.604167, 3.601164, 3.599452, 3.595528, 3.590906, 3.588274, 3.582331, 3.575291, 3.571276, 3.563641, 3.556470, 3.543681, 3.533634, 3.522214, 3.503631, 3.486943, 3.462564, 3.440832, 3.408274, 3.368361, 3.318280, 3.239048, 3.170775, 3.203994, 3.295598, 3.433337, 3.496761, 3.530118, 3.551234, 3.561025, 3.575027, 3.587653, 3.598804, 3.611776, 3.618321, 3.631116, 3.636021, 3.645658, 3.653961, 3.659961, 3.663939, 3.667343, 3.669468, 3.652996, 3.633136, 3.615651, 3.603901, 3.591752, 3.576569, 3.562458, 3.550026, 3.537842, 3.523101, 3.509558, 3.495461, 3.483123, 3.474772, 3.467494, 3.461328, 3.455866, 3.452826, 3.448147, 3.447262, 3.447461, 3.447566, 3.447692, 3.448052, 3.448105, 3.448606, 3.450289, 3.450684, 3.451125, 3.451498, 3.452573, 3.453145, 3.453837, 3.454481, 3.455146, 3.455889, 3.456769, 3.457614, 3.458545, 3.459693, 3.463869, 3.465136, 3.466698, 3.468591, 3.470875, 3.477056, 3.480336, 3.567194, 3.579202, 3.588661, 3.595847, 3.601208, 3.605330, 3.608748, 3.611829, 3.614628, 3.617675, 3.620322, 3.623573, 3.626370, 3.628592, 3.631104, 3.633412, 3.634879, 3.667375, 3.668497, 3.669818, 3.671017, 3.672650, 3.673945, 3.675235, 3.676565, 3.678166, 3.679165, 3.680143, 3.681254, 3.682227, 3.683366, 3.684341, 3.685334, 3.686696, 3.687644, 3.689088, 3.689945, 3.692384, 3.693152, 3.693934, 3.695269, 3.696366, 3.726207, 3.726218, 3.726268, 3.726353, 3.726449, 3.726525, 3.726563, 3.726617, 3.726728, 3.727225, 3.727205, 3.727169, 3.727039, 3.726874, 3.726738, 3.726605, 3.726719, 3.726471, 3.726221, 3.725983, 3.725856, 3.725869, 3.725482, 3.725105, 3.724742, 3.724375, 3.723998, 3.723633, 3.723204, 3.722754, 3.722301, 3.721821, 3.721268, 3.720674, 3.719999, 3.719381, 3.718731, 3.717999, 3.717337, 3.716520, 3.715740, 3.714836, 3.713875, 3.712960, 3.711882, 3.710743, 3.709566, 3.708307, 3.707170, 3.705678, 3.704111, 3.702612, 3.700703, 3.698742, 3.696672, 3.694619, 3.692034, 3.689234, 3.686435, 3.682163, 3.677869, 3.673341, 3.667844, 3.661392, 3.653430, 3.643164, 3.629464, 3.608824, 3.573459, 3.518706, 3.465240, 3.465535, 3.466360, 3.466996, 3.468742, 3.469831, 3.472490, 3.474027, 3.477530, 3.480029, 3.484467, 3.486669, 3.492091, 3.497817, 3.500731, 3.507212, 3.510760, 3.518050, 3.523789, 3.538654, 3.590785];
tracks.m20.log_teff = [4.553253, 4.549346, 4.547174, 4.545685, 4.544487, 4.543546, 4.542704, 4.541930, 4.541199, 4.540501, 4.539833, 4.539180, 4.538523, 4.537867, 4.537208, 4.536548, 4.535864, 4.535171, 4.534479, 4.533819, 4.533099, 4.532349, 4.531685, 4.530858, 4.530091, 4.529258, 4.528381, 4.527510, 4.526607, 4.525624, 4.524617, 4.523586, 4.522501, 4.521398, 4.520290, 4.519143, 4.517971, 4.516772, 4.515485, 4.514221, 4.512837, 4.511507, 4.510101, 4.508667, 4.507198, 4.505676, 4.504136, 4.502523, 4.500856, 4.499166, 4.497491, 4.495733, 4.493921, 4.492090, 4.490113, 4.488147, 4.486238, 4.484147, 4.482163, 4.479980, 4.477843, 4.475607, 4.473299, 4.471034, 4.468654, 4.466329, 4.463757, 4.461328, 4.458638, 4.456110, 4.453542, 4.450639, 4.447997, 4.445199, 4.442406, 4.439610, 4.436652, 4.433856, 4.430981, 4.428301, 4.425631, 4.423303, 4.421079, 4.419665, 4.417133, 4.417171, 4.417249, 4.417350, 4.417494, 4.417629, 4.417839, 4.418064, 4.418213, 4.418508, 4.418812, 4.419100, 4.419612, 4.420245, 4.420835, 4.421696, 4.422720, 4.423804, 4.424998, 4.426548, 4.428610, 4.431079, 4.434245, 4.438862, 4.446238, 4.466819, 4.466818, 4.466795, 4.466869, 4.466593, 4.465954, 4.464978, 4.463753, 4.460943, 4.459266, 4.457600, 4.455811, 4.454226, 4.452252, 4.450122, 4.447809, 4.445428, 4.440841, 4.438668, 4.436202, 4.433690, 4.429020, 4.426507, 4.423976, 4.421396, 4.416259, 4.413662, 4.411091, 4.408434, 4.405806, 4.400451, 4.397710, 4.394906, 4.392073, 4.386325, 4.383410, 4.380459, 4.377478, 4.371463, 4.368414, 4.365331, 4.362171, 4.359369, 4.353332, 4.350270, 4.347179, 4.344057, 4.337768, 4.334598, 4.331373, 4.328118, 4.321521, 4.318163, 4.314773, 4.311343, 4.304390, 4.300861, 4.297283, 4.293637, 4.289962, 4.282533, 4.278783, 4.274971, 4.271118, 4.263665, 4.261759, 4.255988, 4.252112, 4.246432, 4.243446, 4.239031, 4.233549, 4.230085, 4.224989, 4.220862, 4.216878, 4.212944, 4.209174, 4.205576, 4.202151, 4.198862, 4.110521, 4.089470, 4.074724, 4.062205, 4.049360, 4.034826, 4.016791, 3.997607, 3.977317, 3.957115, 3.928374, 3.903048, 3.876210, 3.850041, 3.808092, 3.734719, 3.576925, 3.571743, 3.571057, 3.570602, 3.570459, 3.570285, 3.570244, 3.570004, 3.570037, 3.570028, 3.569749, 3.569502, 3.569621, 3.569551, 3.569749, 3.569678, 3.569698, 3.568869, 3.568953, 3.568850, 3.568921, 3.568871, 3.568696, 3.568741, 3.568656, 3.568812, 3.568712, 3.568734, 3.568659, 3.568854, 3.568885, 3.568692, 3.568926, 3.568882, 3.568797, 3.568945, 3.568887, 3.569005, 3.568945, 3.568872, 3.569075, 3.569540, 3.569856, 3.569869, 3.569758, 3.569846, 3.569960, 3.569608, 3.569670, 3.569800, 3.569511, 3.569921, 3.570298, 3.570322, 3.570332, 3.570586, 3.570489, 3.571143, 3.571122, 3.571005, 3.570983, 3.571283, 3.571207, 3.571646, 3.572005, 3.572294, 3.572640, 3.572454, 3.572985, 3.573242, 3.573122, 3.573409, 3.573730, 3.573847, 3.574047, 3.574057, 3.574320, 3.574750, 3.574671, 3.574629, 3.574749, 3.574825, 3.575110, 3.575288, 3.575142, 3.575135, 3.575430, 3.575209, 3.575085, 3.574964, 3.575442, 3.575474, 3.575504, 3.575606, 3.575859, 3.575655, 3.575990, 3.576159, 3.575925, 3.575717, 3.576006, 3.575427, 3.575602, 3.575647, 3.575675, 3.575689, 3.575680, 3.575821, 3.575970, 3.575801, 3.575997, 3.575863, 3.575829, 3.575950, 3.576194, 3.576241, 3.576257, 3.576189, 3.576174, 3.576303, 3.576327, 3.576308, 3.576258, 3.576341, 3.576527, 3.576310, 3.576297, 3.576468, 3.576551, 3.576468, 3.576504, 3.576346, 3.576391, 3.576517, 3.576198, 3.576264, 3.576354, 3.576364, 3.576172, 3.576042, 3.576061, 3.575789, 3.575548, 3.574428, 3.574141, 3.574141, 3.574141, 3.574141, 3.574141, 3.574141, 3.574141, 3.574141, 3.574141, 3.574141, 3.574141, 3.574141, 3.574141, 3.574141, 3.574141, 3.574141, 3.574141, 3.574141, 3.574141, 3.572871];
tracks.m20.log_l = [4.614872, 4.619018, 4.623463, 4.628064, 4.632737, 4.637466, 4.642282, 4.646902, 4.651751, 4.656385, 4.661088, 4.665791, 4.670511, 4.675113, 4.679815, 4.684374, 4.688887, 4.693485, 4.698080, 4.702542, 4.707066, 4.711544, 4.715935, 4.720303, 4.724738, 4.729042, 4.733292, 4.737656, 4.741863, 4.746114, 4.750368, 4.754505, 4.758829, 4.762955, 4.767060, 4.771277, 4.775252, 4.779310, 4.783414, 4.787365, 4.791604, 4.795450, 4.799393, 4.803348, 4.807345, 4.811222, 4.815075, 4.819143, 4.822897, 4.826832, 4.830508, 4.834208, 4.838174, 4.841852, 4.845683, 4.849399, 4.853005, 4.856893, 4.860380, 4.864053, 4.867646, 4.871420, 4.875058, 4.878547, 4.882123, 4.885772, 4.889355, 4.892642, 4.896518, 4.899881, 4.903175, 4.906892, 4.910362, 4.913800, 4.917309, 4.920896, 4.924358, 4.927805, 4.931261, 4.934769, 4.938316, 4.941806, 4.945487, 4.949152, 4.953346, 4.953955, 4.954392, 4.954824, 4.955324, 4.955727, 4.956250, 4.956724, 4.957139, 4.957825, 4.958402, 4.959010, 4.959752, 4.960451, 4.961028, 4.961796, 4.962637, 4.963474, 4.964382, 4.965509, 4.966926, 4.968583, 4.970716, 4.973939, 4.979591, 5.001445, 5.001124, 5.001037, 5.001511, 5.001620, 5.001418, 5.000994, 5.000533, 4.999532, 4.999009, 4.998868, 4.998832, 4.999701, 5.000112, 5.000569, 5.000940, 5.001460, 5.002370, 5.003414, 5.003940, 5.004542, 5.007079, 5.008093, 5.009222, 5.010330, 5.012720, 5.013875, 5.015108, 5.016161, 5.017312, 5.019459, 5.020446, 5.021411, 5.022304, 5.023958, 5.024722, 5.025430, 5.026101, 5.027445, 5.028046, 5.028629, 5.029155, 5.030731, 5.032783, 5.033671, 5.034464, 5.035161, 5.036341, 5.036911, 5.037367, 5.037756, 5.038404, 5.038645, 5.038963, 5.039237, 5.039694, 5.039913, 5.040099, 5.040396, 5.040617, 5.041060, 5.041325, 5.041635, 5.041972, 5.043553, 5.043777, 5.044529, 5.045130, 5.046146, 5.046747, 5.047740, 5.049107, 5.050077, 5.051664, 5.053038, 5.054470, 5.055889, 5.057324, 5.058754, 5.060176, 5.061554, 5.079041, 5.077968, 5.076456, 5.075491, 5.074597, 5.073595, 5.072307, 5.071644, 5.070583, 5.069726, 5.068636, 5.068058, 5.068567, 5.069077, 5.068065, 5.064140, 5.031244, 5.035243, 5.035701, 5.035921, 5.036062, 5.036010, 5.036046, 5.036147, 5.036309, 5.036548, 5.036525, 5.036667, 5.036822, 5.036834, 5.037020, 5.037013, 5.037229, 5.036882, 5.037137, 5.037262, 5.037391, 5.037315, 5.037339, 5.037681, 5.037828, 5.037975, 5.038057, 5.038071, 5.038007, 5.038149, 5.038147, 5.038148, 5.038245, 5.038156, 5.038130, 5.038445, 5.038370, 5.038665, 5.038515, 5.038405, 5.038626, 5.038808, 5.038602, 5.038637, 5.038637, 5.038579, 5.038594, 5.038617, 5.038437, 5.038473, 5.037165, 5.037742, 5.039143, 5.038086, 5.037764, 5.037443, 5.037571, 5.037662, 5.037592, 5.037355, 5.037118, 5.036936, 5.036902, 5.036804, 5.036570, 5.036718, 5.036260, 5.035812, 5.035607, 5.035755, 5.034917, 5.034217, 5.034203, 5.033397, 5.032968, 5.032967, 5.033404, 5.032948, 5.032644, 5.032308, 5.032250, 5.032060, 5.032566, 5.031949, 5.031713, 5.031621, 5.031498, 5.031133, 5.031457, 5.030324, 5.031045, 5.030560, 5.030498, 5.030130, 5.030258, 5.029916, 5.029750, 5.030537, 5.029141, 5.028812, 5.029400, 5.029178, 5.029342, 5.029554, 5.028975, 5.028874, 5.028878, 5.028918, 5.029124, 5.028626, 5.028719, 5.028838, 5.028839, 5.028714, 5.028546, 5.028391, 5.028626, 5.028693, 5.028537, 5.028599, 5.028749, 5.028970, 5.028942, 5.028997, 5.029142, 5.029036, 5.029335, 5.029563, 5.029759, 5.029464, 5.030334, 5.030595, 5.030709, 5.031510, 5.031447, 5.031968, 5.032612, 5.033531, 5.034031, 5.034918, 5.036393, 5.037789, 5.040777, 5.056702, 5.058582, 5.058582, 5.058582, 5.058582, 5.058582, 5.058582, 5.058582, 5.058582, 5.058582, 5.058582, 5.058582, 5.058582, 5.058582, 5.058582, 5.058582, 5.058582, 5.058582, 5.058582, 5.058582, 5.177863];
variable mass;
foreach mass (get_struct_field_names(tracks))
{
  variable track = get_struct_field(tracks, mass);
  xfig_plot_text( xfig, sprintf("$%s\\,M_{\\odot}$", strreplace(mass,"m","")), track.log_teff[0]-3, track.log_l[0], .1, 1.; size="small", depth=2, color="black");
  xfig.plot(track.log_teff[[0:108:1]]-3,track.log_l[[0:108:1]]; depth=2, color="black"); % hydrogen core burning => main-sequence phase
  xfig.plot(track.log_teff[[109:369:1]]-3,track.log_l[[109:369:1]]; depth=2, color="gray"); % post main-sequence phase
}
% --------------------
% -----
variable phi = [0:2*PI:#360];
% Sun:
xfig_plot_text(xfig, "$\\odot$", log10(5785)-3, 0, 0, 0; size="large", depth=1, color="goldenrod");
% Dwarfs:
variable angle = -33; % value depends on aspect ratio of figure
variable zams = struct{ log_teff, log_l }; % zero-age main sequence according to Ekstroem et al. 2012, A&A, 537, A146
zams.log_teff = [3.688210, 3.724350, 3.754330, 3.779290, 3.803820, 3.824326, 3.856430, 3.909891, 3.972774, 4.048683, 4.104477, 4.186443, 4.247069, 4.332096, 4.391638, 4.456053, 4.501169, 4.553253, 4.588704, 4.623051, 4.649728, 4.689020, 4.713497, 4.729690];
zams.log_l = [-0.590900, -0.356030, -0.138050, 0.063710, 0.295030, 0.459878, 0.673904, 0.913744, 1.208899, 1.596045, 1.898976, 2.365394, 2.712744, 3.220316, 3.584321, 3.977491, 4.266387, 4.614872, 4.865990, 5.125097, 5.343182, 5.703098, 5.980312, 6.231065];
variable tams = struct{ log_teff, log_l }; % terminal-age main sequence according to Ekstroem et al. 2012, A&A, 537, A146
tams.log_teff = [3.713490, 3.741400, 3.762730, 3.781080, 3.788900, 3.803512, 3.813527, 3.820671, 3.860109, 3.926968, 3.984781, 4.077595, 4.145771, 4.237784, 4.295675, 4.352039, 4.386232, 4.417494, 4.427468, 4.422336, 4.397432, 4.152124, 4.310353, 4.433115];
tams.log_l = [-0.258470, -0.046390, 0.126790, 0.276170, 0.493410, 0.646927, 0.833820, 1.074095, 1.372272, 1.782232, 2.104768, 2.608506, 2.981932, 3.521011, 3.906572, 4.312416, 4.603134, 4.955324, 5.191676, 5.421882, 5.607502, 5.874329, 6.106877, 6.310356];
array_reverse(tams.log_teff);
array_reverse(tams.log_l);
xfig.shade_region([zams.log_teff,tams.log_teff]-3,[zams.log_l,tams.log_l]; width=0, color="darkgreen", depth=3);
xfig.add_object( xfig_new_text(sprintf("Dwarfs"); rotate=angle, depth=1, color="whitesmoke"), log10(14500)-3, 2.6);
% Subgiants:
xfig.add_object( xfig_new_text(sprintf("Subgiants"); rotate=angle, depth=1, color="black"), log10(11500)-3, 3.15);
% Supergiants:
xfig.shade_region((0.35*cos(phi)+log10(8)),(0.75*sin(phi)+4.75); width=0, depth=3, color="blue");
xfig_plot_text(xfig, "Supergiants", log10(8), 4.75, 0, 0; depth=1, color="whitesmoke");
% Giants:
xfig.shade_region((0.15*cos(phi)+log10(4.5)),(0.75*sin(phi)+2.75); width=0, depth=3, color="red");
xfig_plot_text(xfig, "Giants", log10(4.5), 2.75, 0, 0; depth=1, color="whitesmoke");
% White dwarfs
xfig.shade_region([0.1,0.2,0.4,0.3,0.2],[0.1,0.0,0.0,0.1,0.2]; width=0, depth=3, color="powderblue", world00);
xfig_plot_text(xfig, "White", log10(26), -0.05, 0, 0; rotate=angle-5, depth=1, color="black");
xfig_plot_text(xfig, "dwarfs", log10(28), -0.45, 0, 0; rotate=angle-5, depth=1, color="black");
% -----
xfig.render("HR_diagram.pdf");