JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdn.jsdelivr.net/npm/chart.js@3.9.1/dist/chart.min.js"></script>

<canvas id="polarChart"></canvas>

JavaScript

// 気象庁のAPIから天気予報JSONファイルを読み取る
const KYOTO = 260000;
const TOKYO = 130000;
const OSAKA = 270000;
const KANAGAWA = 140000;
const HYOGO = 	280000;

const areaCodes= {"京都": KYOTO, "大阪":OSAKA, "兵庫":HYOGO, "東京":TOKYO, "神奈川": KANAGAWA};

//APIからデータを得る関数
async function getData(areaCodes) {
  let result = [];
  for (const areaCode of areaCodes) {
  	var url = `https://www.jma.go.jp/bosai/forecast/data/forecast/${areaCode}.json`
		var res = await fetch(url);
    var weather = await res.json();
    result.push(weather);
  }
  
  return result
}

// JSONデータ取得後に呼び出す関数
function formatWeather(weathers, keys){
	let rainProps = [];
  let locations = [];
  let count = 0;
  
	for (const weather of weathers) {
  	//データから降水確率のデータを取得
    const rainData = weather[0].timeSeries[1].areas[0];
    const rainProp = Number(rainData.pops[0]);
    const location = `${keys[count]}(${rainData.area.name})`;
    
    rainProps.push(rainProp);
    locations.push(location);
    count++
  }
  
  return [locations, rainProps]
}


//ここがグラフの設定
function chartMaker (data) {
  // 棒グラフの設定
  let polarCtx = document.getElementById("polarChart");
  let polarConfig = {
    type: 'polarArea',
    data: {
      labels: data[0],  //=locations
      datasets: [{
      	label: '降水確率',
        data: data[1],   //=rainProps
        backgroundColor: [  // それぞれの棒の色を設定(dataの数だけ)
          '#1e90ff',
          '#6495ed',
          '#00bfff',
          '#87ceeb',
          '#add8e6',
          '#b0e0e6',
        ],
        borderWidth: 1,
      }]
    },
  };
  let polarChart = new Chart(polarCtx, polarConfig);
 }
 
 
 async function fn(areaCodes) {
 	let keys = [];   //keysには、設定した地域名が入ります。
  let codes = [];
  
 	for (var key in areaCodes) {
  	keys.push(key);
    codes.push(areaCodes[key]);
  }
 	const weathers = await getData(codes);
  const data = formatWeather(weathers, keys);
  chartMaker (data);
 }
 
 fn(areaCodes);