block by mbostock 5417216

One System, Every Kepler Planet

Full Screen

Another variation of Jonathan Corum’s interactive graphic on exoplanets.

index.html

<!DOCTYPE html>
<meta charset="utf-8">
<style>

body {
  background: #222;
}

.system {
  display: inline-block;
  position: relative;
  vertical-align: middle;
}

.orbit {
  fill: none;
  stroke: #ccc;
  stroke-dasharray: 2,3;
}

.planet {
  position: absolute;
  top: 0;
  left: 0;
  -moz-animation-name: rotate;
  -moz-animation-iteration-count: infinite;
  -moz-animation-timing-function: linear;
  -webkit-animation-name: rotate;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  animation-name: rotate;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

.planet circle {
  fill: url(#planet-gradient);
}

@-moz-keyframes rotate {
  from { -moz-transform: rotateZ(0deg); }
  to { -moz-transform: rotateZ(-360deg); }
}

@-webkit-keyframes rotate {
  from { -webkit-transform: rotateZ(0deg); }
  to { -webkit-transform: rotateZ(-360deg); }
}

@keyframes rotate {
  from { transform: rotateZ(0deg); }
  to { transform: rotateZ(-360deg); }
}

</style>
<div class="system">
  <svg style="position:absolute;width:0;height:0;">
    <defs>
      <radialGradient id="planet-gradient" gradientUnits="objectBoundingBox" cx="50%" cy="50%" r="50%">
        <stop offset="0%" stop-color="#aaa" stop-opacity="1"/>
        <stop offset="100%" stop-color="#777" stop-opacity="1"/>
      </radialGradient>
    </defs>
  </svg>
</div>
<script src="//d3js.org/d3.v3.min.js"></script>
<script>

// Scales for semimajor axis, planet radius, and planet period.
var x = d3.scale.linear().range([0, 400]),
    r = d3.scale.linear().domain([4, 40]).range([4 * .5, 40 * .5]).clamp(true),
    t = d3.scale.linear().range([0, 1]);

var padding = 16,
    width = 960,
    height = 500;

// Detect the appropriate vendor prefix.
var prefix = "-webkit-transform" in document.body.style ? "-webkit-"
    : "-moz-transform" in document.body.style ? "-moz-"
    : "";

d3.csv("planets.csv", type, function(error, planets) {
  d3.select(".system")
      .style("width", width + "px")
      .style("height", height + "px")
    .selectAll(".planet")
      .data(planets.sort(function(a, b) { return b.planet_radius - a.planet_radius; }))
    .enter().append("svg")
      .attr("class", "planet")
      .attr("width", width)
      .attr("height", height)
      .style(prefix + "animation-duration", function(d) { return t(d.period) + "s"; })
      .style(prefix + "transform-origin", width / 2 + "px " + height / 2 + "px")
    .append("circle")
      .attr("transform", "translate(" + width / 2 + "," + height / 2 + ")")
      .attr("cx", function(d) { return x(d.semimajor_axis); })
      .attr("r", function(d) { return r(d.planet_radius); });
});

function type(d) {
  d.period = +d.period;
  d.planet_radius = +d.planet_radius;
  d.semimajor_axis = +d.semimajor_axis;
  d.stellar_radius = +d.stellar_radius;
  return d;
}

</script>

planets.csv

period,planet_radius,semimajor_axis,stellar_radius,stellar_teff,id,planet_name
0.45299999999999996,3.1899999999999999,0.01,0.68099999999999994,4188.0,42,c
0.74299999999999999,0.85999999999999999,0.013000000000000001,0.52400000000000002,4061.0,32,f
0.83700000000000008,1.3799999999999999,0.017000000000000001,1.0,5627.0,10,b
1.214,3.46,0.019,0.68099999999999994,4188.0,42,b
1.865,3.0800000000000001,0.025000000000000001,0.68099999999999994,4188.0,42,d
1.486,14.82,0.026000000000000002,1.048,5787.0,17,b
1.5930000000000002,1.6699999999999999,0.027000000000000003,1.012,5777.0,9,d
2.4550000000000001,9.8499999999999996,0.028999999999999998,0.53100000000000003,4098.0,45,b
1.8559999999999999,9.4000000000000004,0.028999999999999998,0.89000000000000001,5731.0,41,b
2.8960000000000004,1.1100000000000001,0.033000000000000002,0.52400000000000002,4061.0,32,e
2.4710000000000001,14.4,0.036000000000000004,1.0600000000000001,5814.0,1,b
1.764,23.0,0.037999999999999999,2.7000000000000002,9071.0,13,b
2.2050000000000001,22.300000000000001,0.039,2.71,6264.0,2,b
3.2469999999999999,7.0999999999999996,0.040000000000000001,0.87,5442.0,44,b
2.786,1.72,0.042999999999999997,2.04,6131.0,21,b
3.214,3.7200000000000002,0.044000000000000004,1.27,5858.0,4,b
3.5049999999999999,1.8200000000000001,0.044000000000000004,0.97799999999999998,5385.0,18,b
3.0239999999999996,10.56,0.044000000000000004,1.2009999999999998,6082.0,43,b
3.6960000000000002,1.97,0.044999999999999998,0.93900000000000006,5443.0,20,b
3.2349999999999999,11.07,0.044999999999999998,1.0820000000000001,5826.0,6,b
3.9049999999999998,11.699999999999999,0.047,0.81999999999999995,5595.0,71,b
3.5219999999999998,15.9,0.047,1.5600000000000001,6025.0,8,b
3.548,17.399999999999999,0.052000000000000005,2.02,6297.0,5,b
4.8879999999999999,4.6799999999999997,0.052000000000000005,0.74199999999999999,4766.0,3,b
5.9009999999999998,2.1499999999999999,0.052000000000000005,0.52400000000000002,4061.0,32,b
4.7780000000000005,2.1400000000000001,0.052999999999999999,0.88800000000000001,5190.0,48,b
5.7149320000000001,0.018800000000000001,0.055300000000000002,0.63,5555.0,62,b
4.4379999999999997,17.600000000000001,0.055999999999999994,1.3799999999999999,6011.0,12,b
5.9120000000000008,2.1699999999999999,0.055999999999999994,0.63800000000000001,4663.0,28,b
4.9430000000000005,11.970000000000001,0.059000000000000004,1.0900000000000001,5786.0,15,b
5.7290000000000001,2.23,0.059000000000000004,0.73999999999999999,5294.0,57,b
7.2039999999999997,2.71,0.059999999999999998,0.52500000000000002,4069.0,49,b
4.8849999999999998,16.100000000000001,0.060999999999999999,1.78,5934.0,7,b
5.399,2.5299999999999998,0.062,1.242,5793.0,68,b
6.0979999999999999,0.91000000000000003,0.063,0.93900000000000006,5443.0,20,e
8.011000000000001,2.0899999999999999,0.063,0.498,3855.0,54,b
242.46129999999999,1.71,0.064000000000000001,0.93000000000000005,5638.0,69,c
7.8770000000000007,2.21,0.065000000000000002,0.54799999999999993,4222.0,52,b
8.7520000000000007,1.99,0.068000000000000005,0.52400000000000002,4061.0,32,c
5.6679999999999993,1.8300000000000001,0.068000000000000005,1.8200000000000001,5904.0,33,b
6.2389999999999999,3.3999999999999999,0.070000000000000007,1.6599999999999999,6103.0,25,b
6.8729999999999993,7.0,0.07400000000000001,1.0700000000000001,6354.0,40,b
8.9860000000000007,2.02,0.07400000000000001,0.63800000000000001,4663.0,28,c
7.6420000000000003,4.75,0.074999999999999997,0.97799999999999998,5385.0,18,c
7.1320000000000006,2.2000000000000002,0.074999999999999997,1.47,6180.0,60,b
7.1070000000000002,1.95,0.076999999999999999,1.8700000000000001,6142.0,23,b
6.79,10.0,0.078,1.6299999999999999,6395.0,14,b
10.913,2.54,0.079000000000000001,0.52500000000000002,4069.0,49,c
8.1449999999999996,2.7999999999999998,0.080000000000000002,1.1200000000000001,6043.0,24,b
7.8129999999999997,2.2000000000000002,0.08199999999999999,1.8799999999999999,6058.0,50,b
12.072000000000001,1.23,0.083000000000000004,0.498,3855.0,54,c
9.2870000000000008,2.5299999999999998,0.084000000000000005,0.85699999999999998,5541.0,19,b
9.6739999999999995,3.1499999999999999,0.085000000000000006,0.88800000000000001,5190.0,48,c
8.9190000000000005,2.3999999999999999,0.086999999999999994,1.47,6180.0,60,c
12.282999999999999,3.0800000000000001,0.089999999999999997,0.57700000000000007,4486.0,26,b
9.6050000000000004,1.1100000000000001,0.090999999999999998,1.242,5793.0,68,c
10.300000000000001,1.72,0.091999999999999998,1.0600000000000001,5685.0,11,b
12.441700000000001,0.0077000000000000002,0.092899999999999996,0.63,5555.0,62,c
10.218999999999999,2.6000000000000001,0.093000000000000013,1.0900000000000001,6082.0,58,b
10.854000000000001,3.1699999999999999,0.093000000000000013,0.93900000000000006,5443.0,20,c
9.3759999999999994,2.79,0.093000000000000013,1.8799999999999999,6058.0,50,c
10.337999999999999,3.7999999999999998,0.094,0.92000000000000004,5966.0,29,b
13.722341,2.2400000000000002,0.094,0.93000000000000005,5638.0,69,b
11.609000000000002,1.5800000000000001,0.095000000000000001,0.73999999999999999,5294.0,57,c
13.367000000000001,0.34000000000000002,0.10000000000000001,0.72799999999999998,5288.0,37,b
10.742000000000001,3.6899999999999999,0.10099999999999999,1.8700000000000001,6142.0,23,c
10.503,3.8399999999999999,0.10400000000000001,3.1400000000000001,4931.0,56,b
16.385000000000002,1.9299999999999999,0.105,0.54799999999999993,4222.0,52,c
12.334000000000001,2.8999999999999999,0.105,1.1200000000000001,6043.0,24,c
11.868,1.23,0.106,1.0600000000000001,6314.0,59,b
11.902000000000001,2.5,0.106,1.47,6180.0,60,d
13.025,2.8999999999999999,0.10800000000000001,1.0600000000000001,5685.0,11,c
13.289999999999999,3.5,0.111,0.92000000000000004,5966.0,29,c
17.250999999999998,2.9399999999999999,0.11199999999999999,0.57700000000000007,4486.0,26,c
12.720000000000001,6.5099999999999998,0.113,1.6599999999999999,6103.0,25,c
13.849,1.21,0.11599999999999999,1.6100000000000001,5973.0,36,b
14.859000000000002,6.0099999999999998,0.11599999999999999,0.97799999999999998,5385.0,18,d
13.175999999999998,3.4399999999999999,0.11900000000000001,1.8200000000000001,5904.0,33,c
18.164059999999999,0.027799999999999998,0.12,0.63,5555.0,62,d
15.335000000000001,5.7199999999999998,0.121,0.91900000000000004,5399.0,27,b
15.574000000000002,2.6000000000000001,0.124,1.0900000000000001,6082.0,58,c
22.780999999999999,2.4900000000000002,0.129,0.52400000000000002,4061.0,32,d
16.230999999999998,3.4399999999999999,0.129,1.6100000000000001,5973.0,36,c
21.302,0.75,0.13699999999999998,0.72799999999999998,5288.0,37,c
19.577000000000002,1.03,0.13699999999999998,0.93900000000000006,5443.0,20,f
17.98,2.2200000000000002,0.14000000000000001,1.0600000000000001,6314.0,59,c
18.649000000000001,3.1000000000000001,0.14099999999999999,0.96999999999999997,6086.0,53,b
19.274000000000001,8.2799999999999994,0.14300000000000002,1.012,5777.0,9,b
27.954000000000001,1.5600000000000001,0.155,0.60199999999999998,4509.0,55,b
21.087,9.8000000000000007,0.155,1.04,6225.0,39,b
22.686999999999998,3.2000000000000002,0.156,1.0600000000000001,5685.0,11,d
20.861000000000001,5.7000000000000002,0.158,1.1499999999999999,6514.0,31,b
21.776,5.7300000000000004,0.16600000000000001,1.8200000000000001,5904.0,33,d
21.405000000000001,7.8600000000000003,0.16699999999999998,3.1400000000000001,4931.0,56,c
29.164000000000001,2.1099999999999999,0.184,0.93999999999999995,5461.0,30,b
33.601999999999997,7.2000000000000002,0.191,0.76000000000000001,5289.0,46,b
31.331,7.3399999999999999,0.19399999999999998,0.91900000000000004,5399.0,27,c
31.995000000000001,4.1799999999999997,0.19600000000000001,1.0600000000000001,5685.0,11,e
42.143000000000001,1.77,0.20300000000000001,0.60199999999999998,4509.0,55,c
39.792000000000002,2.0,0.20800000000000002,0.72799999999999998,5288.0,37,d
31.785,4.25,0.214,1.8200000000000001,5904.0,33,e
38.558,3.5,0.22800000000000001,0.96999999999999997,6086.0,53,c
38.906999999999996,8.2200000000000006,0.22899999999999998,1.012,5777.0,9,c
45.293999999999997,2.2000000000000002,0.24100000000000002,1.0,5627.0,10,c
46.686000000000007,2.4300000000000002,0.252,1.0600000000000001,5685.0,11,f
45.156000000000006,7.2999999999999998,0.252,0.93999999999999995,6018.0,51,b
41.027999999999999,4.7999999999999998,0.254,1.8200000000000001,5904.0,33,f
42.631999999999998,5.2999999999999998,0.254,1.1499999999999999,6514.0,31,c
49.513999999999996,2.98,0.29559999999999997,0.96400000000000008,5636.0,47,b
60.323,13.199999999999999,0.29799999999999999,0.93999999999999995,5461.0,30,c
77.611999999999995,2.8399999999999999,0.34399999999999997,0.93900000000000006,5443.0,20,d
85.312999999999988,5.9000000000000004,0.38500000000000001,0.93999999999999995,6018.0,51,c
87.96899999999998,0.38300000000000001,0.38709893000000001,1.0,5777.0,999,Mercury
122.3874,0.023199999999999998,0.42700000000000005,0.63,5555.0,62,e
118.37799999999999,3.3799999999999999,0.46899999999999997,1.0600000000000001,5685.0,11,g
143.21299999999999,9.5299999999999994,0.53000000000000003,0.93999999999999995,5461.0,30,d
131.458,8.1600000000000001,0.60346999999999995,1.0284,5606.0,35,b
228.77599999999998,8.4499999999999993,0.70479999999999998,0.64890000000000003,4450.0,16,b
267.291,0.020299999999999999,0.71799999999999997,0.63,5555.0,62,f
224.70099999999999,0.94899999999999995,0.72333199000000004,1.0,5777.0,999,Venus
289.86200000000002,2.1000000000000001,0.80500000000000005,0.84999999999999998,5510.0,22,b
303.15800000000002,4.6100000000000003,0.9890000000000001,0.96400000000000008,5636.0,47,c
365.25599999999997,1.0,1.0,1.0,5777.0,999,Earth
288.822,8.5600000000000005,1.1617999999999999,1.1617999999999999,5913.0,34,b