Movatterモバイル変換


[0]ホーム

URL:


Quick Reference
On This Page
Plotly Product Labs, Register Now

Map Animation in JavaScript

How to make an animated map with Plotly JS


Plotly Studio: Transform any dataset into an interactive data application in minutes with AI.Try Plotly Studio now.

d3.csv("https://raw.githubusercontent.com/plotly/datasets/master/gapminder_with_codes.csv", function(err, rows){  function filter_and_unpack(rows, key, year) {  return rows.filter(row => row['year'] == year).map(row => row[key])  }  var frames = []  var slider_steps = []  var n = 11;  var num = 1952;  for (var i = 0; i <= n; i++) {    var z = filter_and_unpack(rows, 'lifeExp', num)    var locations = filter_and_unpack(rows, 'iso_alpha', num)    frames[i] = {data: [{z: z, locations: locations, text: locations}], name: num}    slider_steps.push ({        label: num.toString(),        method: "animate",        args: [[num], {            mode: "immediate",            transition: {duration: 300},            frame: {duration: 300}          }        ]      })    num = num + 5  }var data = [{      type: 'choropleth',      locationmode: 'world',      locations: frames[0].data[0].locations,      z: frames[0].data[0].z,      text: frames[0].data[0].locations,      zauto: false,      zmin: 30,      zmax: 90}];var layout = {    title: {      text: 'World Life Expectency<br>1952 - 2007'    },    geo:{       scope: 'world',       countrycolor: 'rgb(255, 255, 255)',       showland: true,       landcolor: 'rgb(217, 217, 217)',       showlakes: true,       lakecolor: 'rgb(255, 255, 255)',       subunitcolor: 'rgb(255, 255, 255)',       lonaxis: {},       lataxis: {}    },    updatemenus: [{      x: 0.1,      y: 0,      yanchor: "top",      xanchor: "right",      showactive: false,      direction: "left",      type: "buttons",      pad: {"t": 87, "r": 10},      buttons: [{        method: "animate",        args: [null, {          fromcurrent: true,          transition: {            duration: 200,          },          frame: {            duration: 500          }        }],        label: "Play"      }, {        method: "animate",        args: [          [null],          {            mode: "immediate",            transition: {              duration: 0            },            frame: {              duration: 0            }          }        ],        label: "Pause"      }]    }],    sliders: [{      active: 0,      steps: slider_steps,      x: 0.1,      len: 0.9,      xanchor: "left",      y: 0,      yanchor: "top",      pad: {t: 50, b: 10},      currentvalue: {        visible: true,        prefix: "Year:",        xanchor: "right",        font: {          size: 20,          color: "#666"        }      },      transition: {        duration: 300,        easing: "cubic-in-out"      }    }]};Plotly.newPlot('myDiv', data, layout).then(function() {    Plotly.addFrames('myDiv', frames);  });})

[8]ページ先頭

©2009-2025 Movatter.jp