Published unlisted
Edited
Mar 1, 2022
Insert cell
# Gráfica Exoplanetas (CSV File)
Insert cell
//import { vl } from "@vega/vega-lite-api"
Insert cell
import {vl} from "@vega/vega-lite-api-v5"

Insert cell
import {addTooltips} from "@mkfreeman/plot-tooltip"
Insert cell
viewof island = Inputs.checkbox([ "Torgersen", "Biscoe", "Dream" ], { value: ["Torgersen", "Biscoe", "Dream" ] })
Insert cell
viewof scatter = vl.markCircle()
.params(vl.selectInterval().bind("scales"))
.encode(
vl.x().fieldQ("pl_flux").scale({domain:[0, 2]}).axis({values:[0, 0.250, 0.50, 0.750, 1, 1.250, 1.50, 1.75, 2]}),
vl.y().fieldQ("st_teff").scale({domain:[0, 7000]}).axis({values:[0, 1000, 2000, 3000, 4000, 5000, 6000, 7000]}),
vl.size().fieldQ("st_teff"),
vl.tooltip(["pl_name", "hostname"]),
vl.color().fieldQ("st_teff")
)
.width(500).height(500)
.data(getPl_Flux)
.render()
Insert cell
columnsToKeep = [ "st_teff", "sy_vmag", "sy_dist", "spectClass"]
Insert cell
temperature = Object.values(newDataPlanetas).map(d => d.st_teff)
Insert cell
getSpectBolconAbsMagArray = {
const transformedArray = [];

for (const row of dataPlanetas) {
// const transformedRow = {};
// for (const column of columnsToKeep) {
// transformedRow[column] = row[column];
// }

if(row.st_teff < 3500){
// transformedArray.push(Object.assign({}, transformedRow, {bolcon: -2.0}));

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
sy_dist: +row.sy_dist,
spectClass: 'M',
bolcon: -2.0,
absMag: row.sy_vmag - 5*Math.log10(row.sy_dist/10)})
}
else if (row.st_teff > 3500 && row.st_teff < 5000){

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
sy_dist: +row.sy_dist,
spectClass: "K",
bolcon: -2.0,
absMag: row.sy_vmag - 5*Math.log10(row.sy_dist/10)})

}
else if (row.st_teff > 5000 && row.st_teff < 6000){

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
sy_dist: +row.sy_dist,
spectClass: "G",
bolcon: -0.4,
absMag: row.sy_vmag - 5*Math.log10(row.sy_dist/10)})
}
else if (row.st_teff > 6000 && row.st_teff < 7500){

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
sy_dist: +row.sy_dist,
spectClass: "F",
bolcon: -0.15,
absMag: row.sy_vmag - 5*Math.log10(row.sy_dist/10)})
}
else if (row.st_teff > 7500 && row.st_teff < 10000){

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
sy_dist: +row.sy_dist,
spectClass: "A",
bolcon: -0.2,
absMag: row.sy_vmag - 5*Math.log10(row.sy_dist/10)})
}
else if (row.st_teff > 10000 && row.st_teff < 25000){

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
sy_dist: +row.sy_dist,
spectClass: "B",
bolcon: -2.0,
absMag: row.sy_vmag - 5*Math.log10(row.sy_dist/10)})
}
else{
transformedArray.push( {st_teff: 0,
sy_vmag: 0,
pl_orbsmax: 0,
sy_dist: 0,
spectClass: 0,
bolcon: 0,
absMag: 0})
}

}

return transformedArray;
}
Insert cell
getBolMag = {

const transformedArray = [];

for (const row of getSpectBolconAbsMagArray) {
// const transformedRow = {};
// for (const column of columnsToKeep) {
// transformedRow[column] = row[column];
// }

if(row.st_teff < 3500){
// transformedArray.push(Object.assign({}, transformedRow, {bolcon: -2.0}));

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.sy_dist,
spectClass: +row.spectClass,
sy_dist: +row.sy_dist,
bolcon: +row.bolcon,
absMag: +row.absMag,
bolconMag: row.absMag + row.bolcon})
}
else if (row.st_steff > 3500 && row.st_teff < 5000){

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
spectClass: +row.spectClass,
sy_dist: +row.sy_dist,
bolcon: +row.bolcon,
absMag: +row.absMag,
bolconMag: row.absMag + row.bolcon})

}
else if (row.st_teff > 5000 && row.st_teff < 6000){

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
spectClass: +row.spectClass,
sy_dist: +row.sy_dist,
bolcon: +row.bolcon,
absMag: +row.absMag,
bolconMag: row.absMag + row.bolcon})
}
else if (row.st_teff > 6000 && row.st_teff < 7500){

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
spectClass: +row.spectClass,
sy_dist: +row.sy_dist,
bolcon: +row.bolcon,
absMag: +row.absMag,
bolconMag: row.absMag + row.bolcon})
}
else if (row.st_teff > 7500 && row.st_teff < 10000){

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
spectClass: +row.spectClass,
sy_dist: +row.sy_dist,
bolcon: +row.bolcon,
absMag: +row.absMag,
bolconMag: row.absMag + row.bolcon})
}
else if (row.st_teff > 10000 && row.st_teff < 25000){

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
spectClass: +row.spectClass,
sy_dist: +row.sy_dist,
bolcon: +row.bolcon,
absMag: +row.absMag,
bolconMag: row.absMag + row.bolcon})
}
else{
transformedArray.push( {st_teff: 0,
sy_vmag: 0,
pl_orbsmax: 0,
spectClass: 0,
sy_dist: 0,
bolcon: 0,
bolconMag: 0})
}

}

return transformedArray;

}
Insert cell
getAbsLum = {

const transformedArray = [];

for (const row of getBolMag) {
// const transformedRow = {};
// for (const column of columnsToKeep) {
// transformedRow[column] = row[column];
// }

if(row.st_teff < 3500){
// transformedArray.push(Object.assign({}, transformedRow, {bolcon: -2.0}));

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
spectClass: +row.spectClass,
sy_dist: +row.sy_dist,
bolcon: +row.bolcon,
absMag: +row.absMag,
bolconMag: row.absMag + row.bolcon,
absLum: Math.pow(10, ((row.bolconMag - 4.72)/-2.5)) })
}
else if (row.st_steff > 3500 && row.st_teff < 5000){

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
spectClass: +row.spectClass,
sy_dist: +row.sy_dist,
bolcon: +row.bolcon,
absMag: +row.absMag,
bolconMag: row.absMag + row.bolconMag,
absLum: Math.pow(10, ((row.bolconMag - 4.72)/-2.5))
})

}
else if (row.st_teff > 5000 && row.st_teff < 6000){

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
spectClass: +row.spectClass,
sy_dist: +row.sy_dist,
bolcon: +row.bolcon,
absMag: +row.absMag,
bolconMag: row.absMag + row.bolcon,
absLum: Math.pow(10, ((row.bolconMag - 4.72)/-2.5))})
}
else if (row.st_teff > 6000 && row.st_teff < 7500){

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
spectClass: +row.spectClass,
sy_dist: +row.sy_dist,
bolcon: +row.bolcon,
absMag: +row.absMag,
bolconMag: row.absMag + row.bolcon,
absLum: Math.pow(10, ((row.bolconMag - 4.72)/-2.5))})
}
else if (row.st_teff > 7500 && row.st_teff < 10000){

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
spectClass: +row.spectClass,
sy_dist: +row.sy_dist,
bolcon: +row.bolcon,
absMag: +row.absMag,
bolconMag: row.absMag + row.bolcon})
}
else if (row.st_teff > 10000 && row.st_teff < 25000){

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
spectClass: +row.spectClass,
bolcon: +row.bolcon,
absMag: +row.absMag,
bolconMag: row.absMag + row.bolcon,
absLum: Math.pow(10, ((row.bolconMag - 4.72)/-2.5))})
}
else{
transformedArray.push( {st_teff: 0,
sy_vmag: 0,
pl_orbsmax: 0,
spectClass: 0,
sy_dist: 0,
bolcon: 0,
bolconMag: 0})
}

}

return transformedArray;
}
Insert cell
getPl_Flux = {
const transformedArray = [];

for (const row of getAbsLum) {
// const transformedRow = {};
// for (const column of columnsToKeep) {
// transformedRow[column] = row[column];
// }

if(row.st_teff < 3500){
// transformedArray.push(Object.assign({}, transformedRow, {bolcon: -2.0}));

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
spectClass: +row.spectClass,
sy_dist: +row.sy_dist,
bolcon: +row.bolcon,
absMag: +row.absMag,
bolconMag: row.absMag + row.bolcon,
absLum: Math.pow(10, ((row.bolconMag - 4.75)/-2.5)),
pl_flux: row.absLum/(Math.pow(2, row.pl_orbsmax))})
}
else if (row.st_steff > 3500 && row.st_teff < 5000){

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
spectClass: +row.spectClass,
sy_dist: +row.sy_dist,
bolcon: +row.bolcon,
absMag: +row.absMag,
bolconMag: row.absMag + row.bolconMag,
pl_flux: row.absLum/(Math.pow(2, row.pl_orbsmax))})

}
else if (row.st_teff > 5000 && row.st_teff < 6000){

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
spectClass: +row.spectClass,
sy_dist: +row.sy_dist,
bolcon: +row.bolcon,
absMag: +row.absMag,
bolconMag: row.absMag + row.bolcon,
pl_flux: row.absLum/(Math.pow(2, row.pl_orbsmax))})
}
else if (row.st_teff > 6000 && row.st_teff < 7500){

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
spectClass: +row.spectClass,
sy_dist: +row.sy_dist,
bolcon: +row.bolcon,
absMag: +row.absMag,
bolconMag: row.absMag + row.bolcon,
pl_flux: row.absLum/(Math.pow(2, row.pl_orbsmax))})
}
else if (row.st_teff > 7500 && row.st_teff < 10000){

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
spectClass: +row.spectClass,
sy_dist: +row.sy_dist,
bolcon: +row.bolcon,
absMag: +row.absMag,
bolconMag: row.absMag + row.bolcon,
pl_flux: row.absLum/(Math.pow(2, row.pl_orbsmax))})
}
else if (row.st_teff > 10000 && row.st_teff < 25000){

transformedArray.push( {st_teff: +row.st_teff,
sy_vmag: +row.sy_vmag,
pl_orbsmax: +row.pl_orbsmax,
spectClass: +row.spectClass,
sy_dist: +row.sy_dist,
bolcon: +row.bolcon,
absMag: +row.absMag,
bolconMag: row.absMag + row.bolcon,
pl_flux: row.absLum/(Math.pow(2, row.pl_orbsmax))})
}
else{
transformedArray.push( {st_teff: 0,
sy_vmag: 0,
pl_orbsmax:0,
spectClass: 0,
sy_dist: 0,
bolcon: 0,
bolconMag: 0})
}

}

return transformedArray;
}
Insert cell
newDataPlanetas = dataPlanetas.filter(d => d.st_teff > 0)
Insert cell
starTemp = dataPlanetas.filter (item => {

return item[dataPlanetas.st_teff]

})
Insert cell
newDATA = dataPlanetas
Insert cell
file = FileAttachment("dataPlanetas.csv")
Insert cell
dataPlanetas1 = dataPlanetas.filter (d => d.pl_orbsmax >= 0.2)
Insert cell
file.text()
Insert cell
dataPlanetas = d3.csvParse(await file.text())
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more