質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Highcharts

HighchartはHTML、SVG、VMLを使ったJavascriptの描写用ライブラリです。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

0回答

419閲覧

書いたプログラムが表示されません。highchart reactをつかって、RESASの都道府県のデータを取得し、人口増減率のグラフを表示したいんですが、、、

hiro1515

総合スコア0

Highcharts

HighchartはHTML、SVG、VMLを使ったJavascriptの描写用ライブラリです。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2022/12/04 08:24

今、resasapiからAPIを取得し、都道府県のデータを取得し、人口増減率を表示するプログラムを書いていますが、ブラウザで表示ができません。どういった原因でなっているのでしょうか
htmlファイルの中身

<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <script src="https://unpkg.com/react@18/umd/react.development.js" crossorigin></script> <script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js" crossorigin></script> <script src="app.js"></script> </body> </html>

App. jsのファイルの中身

import React, { Component } from 'react'; import Highcharts from 'highcharts'; import HighchartsReact from 'highcharts-react-official'; import apikey from './apikey'; class App extends Component { constructor() { super(); this.state = { selected: Array(47).fill(false), prefectures: {}, series: [] }; this._changeSelection = this._changeSelection.bind(this); } componentDidMount() { // 47都道府県の一覧を取得 // API Doc: https://opendata.resas-portal.go.jp/docs/api/v1/prefectures.html fetch('https://opendata.resas-portal.go.jp/api/v1/prefectures', { headers: { 'X-API-KEY':apikey} }) .then(response => response.json()) .then(res => { this.setState({ prefectures: res.result }); }); } _changeSelection(index) { const selected_copy = this.state.selected.slice(); // selectedの真偽値を反転 selected_copy[index] = !selected_copy[index]; if (!this.state.selected[index]) { // チェックされていなかった場合はデータを取得 // API Doc: https://opendata.resas-portal.go.jp/docs/api/v1/population/sum/perYear.html fetch( `https://opendata.resas-portal.go.jp/api/v1/population/sum/perYear?cityCode=-&prefCode=${index + 1}`, { headers: { 'X-API-KEY':apikey} } ) .then(response => response.json()) .then(res => { let tmp = []; Object.keys(res.result.line.data).forEach(i => { tmp.push(res.result.line.data[i].value); }); const res_series = { name: this.state.prefectures[index].prefName, data: tmp }; this.setState({ selected: selected_copy, series: [...this.state.series, res_series] }); }); } else { const series_copy = this.state.series.slice(); // チェック済みの場合はseriesから削除 for (let i = 0; i < series_copy.length; i++) { if (series_copy[i].name == this.state.prefectures[index].prefName) { series_copy.splice(i, 1); } } this.setState({ selected: selected_copy, series: series_copy }); } } renderItem(props) { return ( <div key={props.prefCode} style={{ margin: '5px', display: 'inline-block' }} > <input type="checkbox" checked={this.state.selected[props.prefCode - 1]} onChange={() => this._changeSelection(props.prefCode - 1)} /> {props.prefName} </div> ); } render() { const obj = this.state.prefectures; const options = { title: { text: '人口増減率' }, plotOptions: { series: { label: { connectorAllowed: false }, pointInterval: 5, pointStart: 1965 } }, series: this.state.series }; return ( <div> <h1>Highcharts React + RESAS API Demo</h1> <p> <a href="https://github.com/highcharts/highcharts-react"> Highcharts React </a> </p> <p> <a href="https://opendata.resas-portal.go.jp/">RESAS API</a> </p> {Object.keys(obj).map(i => this.renderItem(obj[i]))} <HighchartsReact highcharts={Highcharts} options={options} /> </div> ); } } export default App;

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2022/12/04 08:37

React のコードはそのままではブラウザでは動かないので、トランスパイルする環境が必要です。
hiro1515

2022/12/05 00:45

baebelを使ってトランスパイルしてみましたが、やっぱりうまくいかないです。 使い方があまりわからないのでデフォルトのままでコピペしました。
hiro1515

2022/12/05 00:47

とりあえず、そのままの設定でコピペしてみましたが、無理でした。
hoshi-takanori

2022/12/05 18:46

どんな環境でどうやって実行しようとしてるのか分かりませんが、初心者が自分で babel を設定するのは敷居が高いので、create-react-app を使うのがお勧めです。 https://de-milestones.com/react-howtostart/
hiro1515

2022/12/07 16:31

プログラムを書き、実行したところ、 エラー./src/App.js 7:0-98 モジュールが見つかりません。 と出ます。4行目のimportの部分がおかしいようです。 どうすればいいでしょうか
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問