データサイエンス/2021/1210
をテンプレートにして作成
LECTURE
担当科目一覧
ソーシャルデザイン概論/2022
ソーシャルデザイン演習/2022
情報デザイン論/2022
情報デザイン演習IIA/2022
3DCG演習/2022
情報デザイン研究I/2022
卒業研究I,II
KEYWORDS
WEB DESIGN
SOCIAL DESIGN
SQUARES
LINKS
九州産業大学
芸術学部
芸術研究科
九産大美術館
九産大図書館
年間スケジュール
動画ニュース他
交通情報
気象・環境情報
危機に備えて
K'sLife
Office365Mail
Tools
SEARCH
開始行:
*第13回 データビジュアライゼーション3
[[データサイエンス/2021]]|''2021.12.10''
~
***AGENDA
-以下名簿が表示されます。出欠確認・座席記録をお願いします。
&fontawesome(far fa-hand-point-right); [[出欠確認・座席...
-講義はこのページの内容を解説するかたちで遠隔 LIVE 配信し...
-質問等は YouTubeLive のチャットまたは LINEの 20ASグルー...
-学科サイトの各自のページを更新して下さい。
&fontawesome(far fa-hand-point-right); [[学科サイト|受...
~
#hr
'''''%%以下、LIVE動画をご覧下さい。記事に沿って解説します...
記録動画は、[[学科サイトの特設ページ(要ログイン)>https:...
#hr
~
//#youtube(bkb0I16wb7I)
//https://youtu.be/bkb0I16wb7I
//埋め込み無効状態です。授業開始直前にページをリロードし...
//~
//-配信開始:2021.12.10 09:00 -
//-動画は授業直前に有効になります(準備段階では黒い画面)...
//~
***CONTENTS
#contents2_1
~
**はじめに
***進捗確認
-第8回 %%データサイエンスとPython%% 演習1, 2
-第9回 %%Python によるデータ解析1(GitHub CSV)%% 演...
-第10回 %%Python によるデータ解析2(GoogleDrive Excel...
-第11回 %%Python によるデータビジュアライゼーション1%%...
-第12回 %%Python によるデータビジュアライゼーション2%%...
-第13回 ''Python によるデータビジュアライゼーション3''...
-第14回 機械学習・序説
https://design.kyusan-u.ac.jp/socialdesign/?JohnSmith/Dat...
~
***アンケート未回答の方 再度ご協力のお願いです。
%%https://forms.gle/or5cpmzE4Laghu3L6%%
> 12月13日、締め切りました。ご協力ありがとうございました。
アンケートの結果は、統計処理の練習用資料として、学籍番号...
~
~
**地理情報の可視化
統計データを、国や地域、道路など地図上に可視化する需要が...
~
***地理情報の可視化ライブラリ Folium
オープンソースのJavaScriptライブラリ__[[Leaflet]]__を用い...
緯度・経度の値を使ったマーカー表示や、ヒートマップの表示...
Foliumはデフォルトで [[OpenStreetMap>https://openstreetma...
-folium.Map( ):ベースとなる地図を生成します
-folium.Marker( ):地図上にマーカーを表示します
-folium.Circle( ):地図上に円を表示します
-folium.Choropleth( ):コロプレス図を生成します
-HeatMap( ):ヒートマップを生成します
~
***コロプレス図とは
コロプレス図とは、統計数値を地図上に表現したもので、区域...
~
***GeoJSONデータとは
-GeoJSONは、地理情報を __[[JSON]]__ 形式で記述したもので...
> [[JSON#GeoJSON]]
-世界地図の GeoJSONデータ
https://raw.githubusercontent.com/johan/world.geo.json/ma...
~
***緯度・経度情報を取得するには
-''GoogleMap'' を使う
地図上で目的の場所をダブルクリックすると、マーカーが表示...
-''GeoJSON.io'' を使う
https://geojson.io/
地図上でマーカーツールを選択して目的の場所をクリックする...
~
~
**Pythonによるビジュアライゼーション体験3
地理情報のビジュアライゼーション
~
***ノートブックの新規作成
-__[[Google Colaboratory>https://colab.research.google.co...
-Untitled0.ipynb というファイル名を変更 > GeographicVisu...
~
***サンプルデータ
-全国の医療機関の医療提供状況(内閣官房 新型コロナ感染症...
--掲載サイト(永続的に利用可能かどうかは不透明)
---https://corona.go.jp/dashboard
---https://cio.go.jp/hosp_monitoring_c19
--Data:covid-19_daily_survey.csv
--DataURL:https://covid-19-surveillance.s3-ap-northeast-...
--URLから直接読み込んで利用します。
-Annotated geo-json geometry files for the world
--掲載サイト:https://github.com/johan/world.geo.json
--Data:countries.geo.json
--DataURL:https://raw.githubusercontent.com/johan/world....
--URLから直接読み込んで利用します。
-plotly に同梱されている「世界各国の一人当たりのGDP(2007...
--ライブラリから読み込むため、準備不要です。
~
***サンプルコード
JupyterNotebook形式(.ipynb)でプログラムを提供します。
https://github.com/koichi-inoue/DataScience/blob/main/Geo...
~
~
**プログラムの解説
***基本的な地図の描画(Folium)
-基本的な地図は、以下の様に記述することで表示されます。
map0 = folium.Map(
location = [35,139] ,
zoom_start = 5.0 ,
tiles="OpenStreetMap" )
map0
-パラメータ
--location:地図の中心とする位置(緯度・経度)
--zoom_start:初期表示倍率
--tiles:地図のスタイル
--width:地図の幅
--height:地図の高さ
-地図タイルには、以下のようなものが利用できます。
--OpenStreetMap:デフォルト
--Stamen Terrain, Stamen Watercolor, Stamen Toner
--Mapbox Bright:Limited levels of zoom for free tiles
--Mapbox Control Room:Limited levels of zoom for free ti...
~
***地図上にマーカーを表示(Folium)
-九州産業大学の座標を変数に定義
ksu_lat = 33.66983627668292
ksu_lng = 130.44487416744232
-folium.Map 関数でベースとなる地図を作成
map1 = folium.Map(
location = [ksu_lat, ksu_lng] ,
zoom_start = 20 )
-folium.Marker 関数でマーカーを定義
folium.Marker(
location = [ksu_lat, ksu_lng] ,
popup="九州産業大学"
).add_to( map1 )
~
***地図上にサークルを表示(Folium)
上と同様につき、省略します。
~
***ヒートマップの描画(Folium)
-オープンデータ covid-19_daily_survey.csv を df に読み込み
df = pd.read_csv('https://covid-19-surveillance・・covid...
本日最新のデータがこのURLから直接読まれます。
-ベースとなる地図を map3 として描画
map3 = folium.Map(
location = [TOKYO_lat, TOKYO_lng] ,
zoom_start = 11 ,
tiles="cartodbpositron" )
-入院・通常 に該当する病院の座標情報を df_hospital に回収
df_hospital = df.query(
"医療区分=='入院' & 医療区分回答=='通常'"
).loc[:,['緯度','経度']]
-ヒートマップ用の変数 df_hospital_geolist に df_hospital ...
df_hospital_geolist = df_hospital.values.tolist()
-各医療機関の座標を半径7 ぼかし5 で map3 に追加
HeatMap( df_hospital_geolist, radius=7, blur=5 ).add_to(...
~
***GeoJSON データを活用したコロプレス図(Folium)
-世界の区画データの読み込み(テキストを json 形式のデータ...
url = requests.get('https://raw.githubusercontent.com/jo...
text = url.text
geo_json = json.loads( text)
-plotlyに同梱されている gapminder 2007年のデータを読み込み
df_gm = px.data.gapminder().query("year == 2007")
-folium.Map 関数でベースとなる地図を作成
map4 = folium.Map( location = [40,0] , zoom_start = 1.8 )
- folium.Choropleth 関数でコロプレス図を定義
folium.Choropleth(
geo_data = geo_json,
data = df_gm,
fill_opacity = 1,
line_color = 'white' ,
nan_fill_color = '#888888' , # 欠損値の色
columns = ['iso_alpha' , 'gdpPercap'], # 色分けに使...
key_on = 'feature.id' , # データに対応した geo.json ...
fill_color = 'OrRd',
).add_to(map4)
~
***plotly.express による地球儀(plotly)
-地球儀に国名をドットで表示
df_gm = px.data.gapminder().query("year == 2007")
fig0 = px.scatter_geo( df_gm, locations="iso_alpha", col...
fig0.show()
-地球儀に gapminder の各国の人口(2007年)を重ねて表示
df_gm = px.data.gapminder().query("year == 2007")
fig1 = px.scatter_geo( df_gm, locations='iso_alpha', col...
fig1.show()
~
~
**学科サイトにリンク掲載(その7)
ノートを、学科サイトの個人ページからリンクして下さい。以...
-1. 自分のノートを開いた状態で、右上の「共有」をクリック
-2. 共有設定を変更して、以下のように表示される状態にしま...
このリンクを知っているインターネット上の全員が閲覧できま...
-3. 「リンクをコピー」をクリックして、そのアドレスを、以...
-[[GeographicVisualization>https://colab.research.go・・...
-4. 以下のようになればOKです。
https://design.kyusan-u.ac.jp/socialdesign/?JohnSmith/Dat...
~
~
~
終了行:
*第13回 データビジュアライゼーション3
[[データサイエンス/2021]]|''2021.12.10''
~
***AGENDA
-以下名簿が表示されます。出欠確認・座席記録をお願いします。
&fontawesome(far fa-hand-point-right); [[出欠確認・座席...
-講義はこのページの内容を解説するかたちで遠隔 LIVE 配信し...
-質問等は YouTubeLive のチャットまたは LINEの 20ASグルー...
-学科サイトの各自のページを更新して下さい。
&fontawesome(far fa-hand-point-right); [[学科サイト|受...
~
#hr
'''''%%以下、LIVE動画をご覧下さい。記事に沿って解説します...
記録動画は、[[学科サイトの特設ページ(要ログイン)>https:...
#hr
~
//#youtube(bkb0I16wb7I)
//https://youtu.be/bkb0I16wb7I
//埋め込み無効状態です。授業開始直前にページをリロードし...
//~
//-配信開始:2021.12.10 09:00 -
//-動画は授業直前に有効になります(準備段階では黒い画面)...
//~
***CONTENTS
#contents2_1
~
**はじめに
***進捗確認
-第8回 %%データサイエンスとPython%% 演習1, 2
-第9回 %%Python によるデータ解析1(GitHub CSV)%% 演...
-第10回 %%Python によるデータ解析2(GoogleDrive Excel...
-第11回 %%Python によるデータビジュアライゼーション1%%...
-第12回 %%Python によるデータビジュアライゼーション2%%...
-第13回 ''Python によるデータビジュアライゼーション3''...
-第14回 機械学習・序説
https://design.kyusan-u.ac.jp/socialdesign/?JohnSmith/Dat...
~
***アンケート未回答の方 再度ご協力のお願いです。
%%https://forms.gle/or5cpmzE4Laghu3L6%%
> 12月13日、締め切りました。ご協力ありがとうございました。
アンケートの結果は、統計処理の練習用資料として、学籍番号...
~
~
**地理情報の可視化
統計データを、国や地域、道路など地図上に可視化する需要が...
~
***地理情報の可視化ライブラリ Folium
オープンソースのJavaScriptライブラリ__[[Leaflet]]__を用い...
緯度・経度の値を使ったマーカー表示や、ヒートマップの表示...
Foliumはデフォルトで [[OpenStreetMap>https://openstreetma...
-folium.Map( ):ベースとなる地図を生成します
-folium.Marker( ):地図上にマーカーを表示します
-folium.Circle( ):地図上に円を表示します
-folium.Choropleth( ):コロプレス図を生成します
-HeatMap( ):ヒートマップを生成します
~
***コロプレス図とは
コロプレス図とは、統計数値を地図上に表現したもので、区域...
~
***GeoJSONデータとは
-GeoJSONは、地理情報を __[[JSON]]__ 形式で記述したもので...
> [[JSON#GeoJSON]]
-世界地図の GeoJSONデータ
https://raw.githubusercontent.com/johan/world.geo.json/ma...
~
***緯度・経度情報を取得するには
-''GoogleMap'' を使う
地図上で目的の場所をダブルクリックすると、マーカーが表示...
-''GeoJSON.io'' を使う
https://geojson.io/
地図上でマーカーツールを選択して目的の場所をクリックする...
~
~
**Pythonによるビジュアライゼーション体験3
地理情報のビジュアライゼーション
~
***ノートブックの新規作成
-__[[Google Colaboratory>https://colab.research.google.co...
-Untitled0.ipynb というファイル名を変更 > GeographicVisu...
~
***サンプルデータ
-全国の医療機関の医療提供状況(内閣官房 新型コロナ感染症...
--掲載サイト(永続的に利用可能かどうかは不透明)
---https://corona.go.jp/dashboard
---https://cio.go.jp/hosp_monitoring_c19
--Data:covid-19_daily_survey.csv
--DataURL:https://covid-19-surveillance.s3-ap-northeast-...
--URLから直接読み込んで利用します。
-Annotated geo-json geometry files for the world
--掲載サイト:https://github.com/johan/world.geo.json
--Data:countries.geo.json
--DataURL:https://raw.githubusercontent.com/johan/world....
--URLから直接読み込んで利用します。
-plotly に同梱されている「世界各国の一人当たりのGDP(2007...
--ライブラリから読み込むため、準備不要です。
~
***サンプルコード
JupyterNotebook形式(.ipynb)でプログラムを提供します。
https://github.com/koichi-inoue/DataScience/blob/main/Geo...
~
~
**プログラムの解説
***基本的な地図の描画(Folium)
-基本的な地図は、以下の様に記述することで表示されます。
map0 = folium.Map(
location = [35,139] ,
zoom_start = 5.0 ,
tiles="OpenStreetMap" )
map0
-パラメータ
--location:地図の中心とする位置(緯度・経度)
--zoom_start:初期表示倍率
--tiles:地図のスタイル
--width:地図の幅
--height:地図の高さ
-地図タイルには、以下のようなものが利用できます。
--OpenStreetMap:デフォルト
--Stamen Terrain, Stamen Watercolor, Stamen Toner
--Mapbox Bright:Limited levels of zoom for free tiles
--Mapbox Control Room:Limited levels of zoom for free ti...
~
***地図上にマーカーを表示(Folium)
-九州産業大学の座標を変数に定義
ksu_lat = 33.66983627668292
ksu_lng = 130.44487416744232
-folium.Map 関数でベースとなる地図を作成
map1 = folium.Map(
location = [ksu_lat, ksu_lng] ,
zoom_start = 20 )
-folium.Marker 関数でマーカーを定義
folium.Marker(
location = [ksu_lat, ksu_lng] ,
popup="九州産業大学"
).add_to( map1 )
~
***地図上にサークルを表示(Folium)
上と同様につき、省略します。
~
***ヒートマップの描画(Folium)
-オープンデータ covid-19_daily_survey.csv を df に読み込み
df = pd.read_csv('https://covid-19-surveillance・・covid...
本日最新のデータがこのURLから直接読まれます。
-ベースとなる地図を map3 として描画
map3 = folium.Map(
location = [TOKYO_lat, TOKYO_lng] ,
zoom_start = 11 ,
tiles="cartodbpositron" )
-入院・通常 に該当する病院の座標情報を df_hospital に回収
df_hospital = df.query(
"医療区分=='入院' & 医療区分回答=='通常'"
).loc[:,['緯度','経度']]
-ヒートマップ用の変数 df_hospital_geolist に df_hospital ...
df_hospital_geolist = df_hospital.values.tolist()
-各医療機関の座標を半径7 ぼかし5 で map3 に追加
HeatMap( df_hospital_geolist, radius=7, blur=5 ).add_to(...
~
***GeoJSON データを活用したコロプレス図(Folium)
-世界の区画データの読み込み(テキストを json 形式のデータ...
url = requests.get('https://raw.githubusercontent.com/jo...
text = url.text
geo_json = json.loads( text)
-plotlyに同梱されている gapminder 2007年のデータを読み込み
df_gm = px.data.gapminder().query("year == 2007")
-folium.Map 関数でベースとなる地図を作成
map4 = folium.Map( location = [40,0] , zoom_start = 1.8 )
- folium.Choropleth 関数でコロプレス図を定義
folium.Choropleth(
geo_data = geo_json,
data = df_gm,
fill_opacity = 1,
line_color = 'white' ,
nan_fill_color = '#888888' , # 欠損値の色
columns = ['iso_alpha' , 'gdpPercap'], # 色分けに使...
key_on = 'feature.id' , # データに対応した geo.json ...
fill_color = 'OrRd',
).add_to(map4)
~
***plotly.express による地球儀(plotly)
-地球儀に国名をドットで表示
df_gm = px.data.gapminder().query("year == 2007")
fig0 = px.scatter_geo( df_gm, locations="iso_alpha", col...
fig0.show()
-地球儀に gapminder の各国の人口(2007年)を重ねて表示
df_gm = px.data.gapminder().query("year == 2007")
fig1 = px.scatter_geo( df_gm, locations='iso_alpha', col...
fig1.show()
~
~
**学科サイトにリンク掲載(その7)
ノートを、学科サイトの個人ページからリンクして下さい。以...
-1. 自分のノートを開いた状態で、右上の「共有」をクリック
-2. 共有設定を変更して、以下のように表示される状態にしま...
このリンクを知っているインターネット上の全員が閲覧できま...
-3. 「リンクをコピー」をクリックして、そのアドレスを、以...
-[[GeographicVisualization>https://colab.research.go・・...
-4. 以下のようになればOKです。
https://design.kyusan-u.ac.jp/socialdesign/?JohnSmith/Dat...
~
~
~
ページ名: