Public
Edited
Oct 16, 2023
1 fork
Insert cell
# Foodmile Bar Chart
Insert cell
4+8
Insert cell
FdConsumer_emission= {
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products=="Apples"){
foodData[i].Total_Emissions_Financial_District= (foodmile[i].Local_Total_Food_Pound*foodmile[i].Local_Financial_District_Food_Miles) + (foodmile[i].Conv_Total_Food_Pound* foodmile[i].Conv_Financial_District_Food_Miles)
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products=="Milk_products"){
foodData[i].Total_Emissions_Financial_District= (foodmile[i].Local_Total_Food_Pound*foodmile[i].Local_Financial_District_Food_Miles) + (foodmile[i].Conv_Total_Food_Pound* foodmile[i].Conv_Financial_District_Food_Miles)
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products=="Meat_All_Red"){
foodData[i].Total_Emissions_Financial_District= (foodmile[i].Local_Total_Food_Pound*foodmile[i].Local_Financial_District_Food_Miles) + (foodmile[i].Conv_Total_Food_Pound* foodmile[i].Conv_Financial_District_Food_Miles)
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products=="Bread"){
foodData[i].Total_Emissions_Financial_District= (foodmile[i].Local_Total_Food_Pound*foodmile[i].Local_Financial_District_Food_Miles) + (foodmile[i].Conv_Total_Food_Pound* foodmile[i].Conv_Financial_District_Food_Miles)
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products=="Broccoli"){
foodData[i].Total_Emissions_Financial_District= (foodmile[i].Local_Total_Food_Pound*foodmile[i].Local_Financial_District_Food_Miles) + (foodmile[i].Conv_Total_Food_Pound* foodmile[i].Conv_Financial_District_Food_Miles)
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products=="Lettuce"){
foodData[i].Total_Emissions_Financial_District= (foodmile[i].Local_Total_Food_Pound*foodmile[i].Local_Financial_District_Food_Miles) + (foodmile[i].Conv_Total_Food_Pound* foodmile[i].Conv_Financial_District_Food_Miles)
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products=="Tomatoes"){
foodData[i].Total_Emissions_Financial_District= (foodmile[i].Local_Total_Food_Pound*foodmile[i].Local_Financial_District_Food_Miles) + (foodmile[i].Conv_Total_Food_Pound* foodmile[i].Conv_Financial_District_Food_Miles)
}}

return foodData}
Insert cell
Financial_District_Total_CO2_Emission_Chart2=Plot.plot({
marginBottom: 50,
x: {
tickRotate: -30,
},
y: {
transform: (d) => d / 1,
label: "Total Co2 Metric Ton",
grid: 10
},
marks: [
Plot.ruleY([0]),
Plot.barY(FdConsumer_emission, {
x: "Products",
y: "Total_Emissions_Financial_District",
sort: { x: "y", reverse: true, },
fill: "green",
channels: { Conv_Total_Food_Pound: "Conv_Total_Food_Pound", Local_Total_Food_Pound:"Local_Total_Food_Pound", Average_food_lb_per_year:"Average_food_lb_per_year"},
tip:"x"
}),
]
})
Insert cell
CobbleHillConsumer= {
// do some claculations and returen their values
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products=="Apples"){
foodData[i].Total_Emissions_Cobble_Hill= (foodmile[i].Local_Total_Food_Pound*foodmile[i].Local_Cobble_Hill_Food_Miles) + (foodmile[i].Conv_Total_Food_Pound* foodmile[i].Conv_Cobble_Hill_Food_Miles)
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products=="Milk_products"){
foodData[i].Total_Emissions_Cobble_Hill= (foodmile[i].Local_Total_Food_Pound*foodmile[i].Local_Cobble_Hill_Food_Miles) + (foodmile[i].Conv_Total_Food_Pound* foodmile[i].Conv_Cobble_Hill_Food_Miles)
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products=="Meat_All_Red"){
foodData[i].Total_Emissions_Cobble_Hill= (foodmile[i].Local_Total_Food_Pound*foodmile[i].Local_Cobble_Hill_Food_Miles) + (foodmile[i].Conv_Total_Food_Pound* foodmile[i].Conv_Cobble_Hill_Food_Miles)
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products=="Bread"){
foodData[i].Total_Emissions_Cobble_Hill= (foodmile[i].Local_Total_Food_Pound*foodmile[i].Local_Cobble_Hill_Food_Miles) + (foodmile[i].Conv_Total_Food_Pound* foodmile[i].Conv_Cobble_Hill_Food_Miles)
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products=="Broccoli"){
foodData[i].Total_Emissions_Cobble_Hill= (foodmile[i].Local_Total_Food_Pound*foodmile[i].Local_Cobble_Hill_Food_Miles) + (foodmile[i].Conv_Total_Food_Pound* foodmile[i].Conv_Cobble_Hill_Food_Miles)
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products=="Lettuce"){
foodData[i].Total_Emissions_Cobble_Hill= (foodmile[i].Local_Total_Food_Pound*foodmile[i].Local_Cobble_Hill_Food_Miles) + (foodmile[i].Conv_Total_Food_Pound* foodmile[i].Conv_Cobble_Hill_Food_Miles)
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products=="Tomatoes"){
foodData[i].Total_Emissions_Cobble_Hill= (foodmile[i].Local_Total_Food_Pound*foodmile[i].Local_Cobble_Hill_Food_Miles) + (foodmile[i].Conv_Total_Food_Pound* foodmile[i].Conv_Cobble_Hill_Food_Miles)
}}

return foodData}
Insert cell
Cobble_Hill_Total_CO2_Emission_Chart2= Plot.plot({
marginBottom: 50,
x: {
tickRotate: -30,
},
y: {
transform: (d) => d / 1,
label: "Total Co2 Metric Ton ",
grid: 5
},
marks: [
Plot.ruleY([0]),
Plot.barY(CobbleHillConsumer, {
x: "Products",
y: "Total_Emissions_Cobble_Hill",
sort: { x: "y", reverse: true, },
fill: "blue",
channels: { Conv_Total_Food_Pound: "Conv_Total_Food_Pound", Local_Total_Food_Pound:"Local_Total_Food_Pound", Average_food_lb_per_year:"Average_food_lb_per_year"},
tip:"x"
}),
]
})
Insert cell
foodmile= {
// do some claculations and returen their values
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products=="Apples"){
var localPercent = Apple
var conPercent = 1 - Apple
foodData[i].Local_Total_Food_Pound = foodData[i].Average_food_lb_per_year*(Apple)
foodData[i].Conv_Total_Food_Pound = foodData[i].Average_food_lb_per_year*(1- Apple)
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products){
foodData[i].Local_Financial_District_Food_Miles= Math.round(foodData[i].Financial_District_Localmiles*Tons_Local*Co2g)/1000000
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products){
foodData[i].Local_Cobble_Hill_Food_Miles = Math.round(foodData[i].Cobble_Hill_Localmiles*Tons_Local*Co2g)/1000000
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products){
foodData[i].Conv_Financial_District_Food_Miles = Math.round(foodData[i].Financial_District_Cmiles*TonsConventional*Co2g)/1000000
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products){
foodData[i].Conv_Cobble_Hill_Food_Miles = Math.round(foodData[i].Cobble_Hill_Cmiles*TonsConventional*Co2g)/1000000
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products=="Milk_products"){
var localPercent = Milk_products
var conPercent = 1 - Milk_products
foodData[i].Local_Total_Food_Pound = foodData[i].Average_food_lb_per_year*(Milk_products)
foodData[i].Conv_Total_Food_Pound = foodData[i].Average_food_lb_per_year*(1- Milk_products)
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products=="Meat_All_Red"){
var localPercent = Meat_All_Red
var conPercent = 1 - Meat_All_Red
foodData[i].Local_Total_Food_Pound = foodData[i].Average_food_lb_per_year*(Meat_All_Red)
foodData[i].Conv_Total_Food_Pound = foodData[i].Average_food_lb_per_year*(1- Meat_All_Red)
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products=="Bread"){
var localPercent = Bread
var conPercent = 1 - Bread
foodData[i].Local_Total_Food_Pound = foodData[i].Average_food_lb_per_year*(Bread)
foodData[i].Conv_Total_Food_Pound = foodData[i].Average_food_lb_per_year*(1- Bread)
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products=="Broccoli"){
var localPercent = Broccoli
var conPercent = 1 - Broccoli
foodData[i].Local_Total_Food_Pound = foodData[i].Average_food_lb_per_year*(Broccoli)
foodData[i].Conv_Total_Food_Pound = foodData[i].Average_food_lb_per_year*(1- Broccoli)
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products=="Lettuce"){
var localPercent = Lettuce
var conPercent = 1 - Lettuce
foodData[i].Local_Total_Food_Pound = foodData[i].Average_food_lb_per_year*(Lettuce)
foodData[i].Conv_Total_Food_Pound = foodData[i].Average_food_lb_per_year*(1- Lettuce)
}}
for (let i= 0; i < foodData.length; ++i) {
if(foodData[i].Products=="Tomatoes"){
var localPercent = Tomatoes
var conPercent = 1 - Tomatoes
foodData[i].Local_Total_Food_Pound = foodData[i].Average_food_lb_per_year*(Tomatoes)
foodData[i].Conv_Total_Food_Pound = foodData[i].Average_food_lb_per_year*(1- Tomatoes)
}}
return foodData}
Insert cell
Co2g=161.8
Insert cell
TonsConventional=22
Insert cell
Tons_Local=1.5
Insert cell
Milk_products
Insert cell
viewof Milk_products = Inputs.range([0, 1], {value: .5, step: .01, label: "Milk_product"})
Insert cell
Meat_All_Red
Insert cell
viewof Meat_All_Red = Inputs.range([0, 1], {value: .5, step: .01, label: "Meat_All_Red"})
Insert cell
Bread
Insert cell
viewof Bread = Inputs.range([0, 1], {value: .5, step: .01, label: "Bread"})
Insert cell
Broccoli
Insert cell
viewof Broccoli = Inputs.range([0, 1], {value: .5, step: .01, label: "Broccoli"})
Insert cell
Lettuce
Insert cell
viewof Lettuce = Inputs.range([0, 1], {value: .5, step: .01, label: "Lettuce"})
Insert cell
Tomatoes
Insert cell
viewof Tomatoes = Inputs.range([0, 1], {value: .5, step: .01, label: "Tomatoes"})
Insert cell
Apple
Insert cell
viewof Apple = Inputs.range([0, 1], {value: .5, step: .001, label: "Apple"})
Insert cell
st3 = FileAttachment("square_test3.txt").tsv({array:true})
Insert cell
Insert cell
foodData = d3.csv(buildingList_link,d3.autoType)
Insert cell
Insert cell
foodbarchart = d3.csv(foodbarchartlink,d3.autoType)
Insert cell
foodbarchart[0].Co2 = foodmile[0].Local_Cobble_Hill_Food_Miles;
Insert cell
foodbarchart[1].Co2 = foodmile[0].Conv_Cobble_Hill_Food_Miles;
Insert cell
foodbarchart[2].Co2 = foodmile[1].Local_Cobble_Hill_Food_Miles;
Insert cell
foodbarchart[3].Co2 = foodmile[1].Conv_Cobble_Hill_Food_Miles;
Insert cell
foodbarchart[4].Co2 = foodmile[2].Local_Cobble_Hill_Food_Miles;
Insert cell
foodbarchart[5].Co2 = foodmile[2].Conv_Cobble_Hill_Food_Miles;
Insert cell
foodbarchart[6].Co2 = foodmile[3].Local_Cobble_Hill_Food_Miles;
Insert cell
foodbarchart[7].Co2 = foodmile[3].Conv_Cobble_Hill_Food_Miles;
Insert cell
foodbarchart[8].Co2 = foodmile[4].Local_Cobble_Hill_Food_Miles;
Insert cell
foodbarchart[9].Co2 = foodmile[4].Conv_Cobble_Hill_Food_Miles;
Insert cell
foodbarchart[10].Co2 = foodmile[5].Local_Cobble_Hill_Food_Miles;
Insert cell
foodbarchart[11].Co2 = foodmile[5].Conv_Cobble_Hill_Food_Miles;
Insert cell
foodbarchart[12].Co2 = foodmile[6].Local_Cobble_Hill_Food_Miles;
Insert cell
foodbarchart[13].Co2 = foodmile[6].Conv_Cobble_Hill_Food_Miles;
Insert cell
foodbarchart
X
Local_VS_Conv
Y
Co2
Color
Local_VS_Conv
Size
Co2
Facet X
Products
Facet Y
Mark
bar
Type Chart, then Shift-Enter. Ctrl-space for more options.

Insert cell
FDfoodbarchart = d3.csv(FDfoodbarchartlink,d3.autoType)
Insert cell
FDfoodbarchart[0].Co2 = foodmile[0].Local_Financial_District_Food_Miles;
Insert cell
FDfoodbarchart[1].Co2 = foodmile[0].Conv_Financial_District_Food_Miles;
Insert cell
FDfoodbarchart[2].Co2 = foodmile[1].Local_Financial_District_Food_Miles;
Insert cell
FDfoodbarchart[3].Co2 = foodmile[1].Conv_Financial_District_Food_Miles;
Insert cell
FDfoodbarchart[4].Co2 = foodmile[2].Local_Financial_District_Food_Miles;
Insert cell
FDfoodbarchart[5].Co2 = foodmile[2].Conv_Financial_District_Food_Miles;
Insert cell
FDfoodbarchart[6].Co2 = foodmile[3].Local_Financial_District_Food_Miles;
Insert cell
FDfoodbarchart[7].Co2 = foodmile[3].Conv_Financial_District_Food_Miles;
Insert cell
FDfoodbarchart[8].Co2 = foodmile[4].Local_Financial_District_Food_Miles;
Insert cell
FDfoodbarchart[9].Co2 = foodmile[4].Conv_Financial_District_Food_Miles;
Insert cell
FDfoodbarchart[10].Co2 = foodmile[5].Local_Financial_District_Food_Miles;
Insert cell
FDfoodbarchart[11].Co2 = foodmile[5].Conv_Financial_District_Food_Miles;
Insert cell
FDfoodbarchart[12].Co2 = foodmile[6].Local_Financial_District_Food_Miles;
Insert cell
FDfoodbarchart[13].Co2 = foodmile[6].Conv_Financial_District_Food_Miles;
Insert cell
Insert cell
FDfoodbarchart
X
Local_VS_Conv
Y
Co2
Color
Local_VS_Conv
Size
Facet X
Products
Facet Y
Mark
bar
Type Chart, then Shift-Enter. Ctrl-space for more options.

Insert cell

One platform to build and deploy the best data apps

Experiment and prototype by building visualizations in live JavaScript notebooks. Collaborate with your team and decide which concepts to build out.
Use Observable Framework to build data apps locally. Use data loaders to build in any language or library, including Python, SQL, and R.
Seamlessly deploy to Observable. Test before you ship, use automatic deploy-on-commit, and ensure your projects are always up-to-date.
Learn more