Python BeautifulSoup lxml でSTRAVA のtcxデータをグラフに表示する

STRAVA のtcxデータをグラフにします。
BeautifulSoupとlxmlでデータを取り込みます。ようするにlxmlファイルのスクレイピングです。
あとは、pandasとnumpy計算します。
斜度の計算も行いましたが、距離の微分で高度の微分を割っていますが、それで合っているかは不明です。緯度、経度からの計算方法もあったのですが、少し面倒なので今回は書きません。見つけたのは、他の言語だったので気が向いたらpythonでできるかやるかもしれませんが、予定は未定。

コードです。

written by gatamix

–スポンサーリンク–
Devotion!! Classic!!
Big Shots / Charizma & Peanut Butter Wolf

itunes

amazon

表みたいなグラフを書いてみる

前回のはいまいちだったので強引に作ってみました。使ったのは、pythonのmatplotlib,Graphic,Keynoteです。
まず、コードは以下。

表をテキストで強引に書きました。一応複数のリストにも対応できるように書いたつもりです。
できあがったグラフ。


SVGにしてGraphicで注目させる値の色を変えてみる。
そして,keynoteでそれっぽくするとこうなる。

written by gatamix

Python gmaps でgpxデータをgoogle mapに表示する

STRAVA のgpxデータの表示についてです。
実際に走行しないでも、gpxデータはSTRAVAのMyルートで作成できます。
プログラムに直接関係ありませんが、サイコンのナビに使うこともできますのでおすすめな機能です。
自転車ルートが選ばれるところがよいところです。
表示にはjupyter notebook 上でgpxpy とgmapsを使います。
gpxデータの読み込みは前回と同様に行います。
gmapsのインストールはGitHubを参考してください。
*Installing jupyter-gmaps with pipで行いました。


gmaps参考サイト

コード

一応できました。まあJavaScriptでgoogle mapを扱うのが通常のようです。

written by gatamix

インタラクティブなグラフが書けるPlotly

Matplotlibもいいですが、インタラクティブなグラフが書けるPlotlyというライブラリーがあります。
STRAVAのデータの解析に使ってみようと考えています。
一応オフラインでも使用できてjupyter notebook でもインタラクティブなグラフが書けます。

written by gatamix

Python gpxpy でSTRAVA のgpxデータをグラフに表示する

STRAVA のgpxデータをグラフします。
まずSTRAVAのアクティビティの個々のページに行きスパナのアイコンのアクションボタンを選択してgpxデータをダウンロードします。
  gpxpyをインストールする。
pip install gpxpy
*juypter notebook でもシェルコマンドが実行できるのを最近知りました。その場合は、!pip install gpxpy

コードは以下となります。

tcxファイルについてもできそうなので、まとまったら書きます。

written by gatamix

matplotlibで表の中にグラフを書いてみる

表題にあるようにmatplotlibで表の中にグラフを書いてみます。
エクセルの機能でデータバーという機能があるのですが、matplotlibで似たような表グラフを再現します。
エクセルのほうが楽かもしれませんが。。。
プレゼンでは、わかりやすく効果があるかもしれません。

written by gatamix

Mac Processing minim (マイク入力に内部音声を割り当てる)

MacでProcessing マイク入力(ラインイン)に内部出力音声を割り当てます。
コードに関する記事ではなく、便利に音声データを取り込む方法です。

環境 mac osX high Sierra
コードではminimを使用したProcessing 使うコードはリンク先のページのものを使いました。

  minimのライブラリーのインストール。
Processingを起動。
ライブラリーインポート → ライブラリー追加 
Filter 検索 minim
Minim 選択 
右下のInstall

  soundflowerをインストール
まず、内部出力音声を取り込むのため、soundflowerをインストールします。


dmgファイルをダウンロードします。
Soundflower.pkg を右クリック(2本指)でクリックしてインストーラを実行。
セキュリティ警告エラー
「システム環境設定」の「セキュリティとプライバシー」
このまま開く
一回でできなくても何回かするとインストールできる場合がある。

スピーカーで外部出力しない場合はこれOK.

スピーカーに出力する。
LadioCast をApp storeからインストールする。

  設定
環境変数 → sound
入力 前 内蔵マイク → 変更後 Soundflower(2ch)
出力力 前 内蔵スピーカー → 変更後 Soundflower(2ch)

  音を出す場合
LadioCastを起動。
入力1 Soundflower(2ch)
出力メイン 内蔵出力

これでpcで再生した音(itunesなど)をプログラムに取り込むことができます。
minimはmp3の読み込みをできるようですがライブで使うコードと同じコードを利用できるため、この方法が便利と思います。
ライブでライン入力使う場合は、 
環境変数 → sound
入力  内蔵マイク 
としたままにします。

Django at Mac とりあえずプロジェクトを作成

Django アプリ作成します。

参考 https://docs.djangoproject.com

  インストール
Mac のローカルに作成。pyenv でpython(anaconda3-5.2.0) インストールして あるので特にvirtualenvはいれない。
よく読んだらチュートリアルに実際にはプロジェクトがシンプルな状態のほうがいいのでvirtualenvでの開発が勧められていた。仮想環境のほうが複数のプロジェクトではいいようだ。

$ pip install django==2.01

Collecting django==2.01
Downloading https://files.pythonhosted.org/packages/51/1a/e0ac7886c7123a03814178d7517dc822af0fe51a72e1a6bff26153103322/Django-2.1-py3-none-any.whl (7.3MB)
100% |████████████████████████████████| 7.3MB 4.5MB/s
Requirement already satisfied: pytz in ./.pyenv/versions/anaconda3-5.2.0/lib/python3.6/site-packages (from django==2.01) (2018.4)
Installing collected packages: django
Successfully installed django-2.1

  とりあえずフォルダーつくる。
$ mkdir ./my_django_1

  プロジェクトを作成
$ cd my_django_1/
$ django-admin startproject mysite

  tree
treeコマンド打ったらなかったなかった。
ターミナルでの作業では必要と思う。
mac で treeコマンドが使いたかったのでインストールした。
$ brew install tree

参考

ディレクトリーの表示をする。

$ tree
.
└── mysite
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py

  開発用サーバーを起動する
python ./mysite/manage.py runserver

とりあえずここまで。
起動はできた。

Mac のPython (anaconda3-5.2.0)にOpen CV とffmpegを入れ直した

表題の通りです。
環境pyenv anaconda3-5.2.0
python環境構築方法
$brew install pyenv
$brew install pyenv-virtualenv

pathを通す。
$vi ~/.bash_profile
PYENV_ROOT=~/.pyenv
export PATH=$PATH:$PYENV_ROOT/bin
eval “$(pyenv init -)”
eval “$(pyenv virtualenv-init -)”

.bash_profileの更新
$source ~/.bash_profile

$pyenv install anaconda3-5.2.0
$pyenv global anaconda3-5.2.0
再インストールしたので、モジュールも入れ直しです。

$pip install opencv-python
$pip install ffmpeg-python

written by gatamix

Mac 再インストール

Mac のOSの再インストールしました。
記録のため、ブログに残します。
2018.9.28
環境
MacBook Air(13-inch, Early 2015) core i5 メモリー 8GB
OS: HIgh Sierra

症状:外付けCDドライブが認識しない。

①SMCリセット(起動時 左側の shift + control + option) pramリセット(起動時 command + option + P + R)では解決しなかった。
②他のwindows PCでCDドライブが使えた。
③上書きの再インストールでもだめだった。
④ディスクフォーマット後に新規インストール ⇨ Ok!! 

考察、③では、ドライバーなどは、更新されない??
ドライバーが問題だった?

他のPCで使えたので気づいたが、最初はCDドライブが壊れていたのかと思った。
ドライバーの修復方法がググったが、分からなかった。