USオープン2017の2週目の観戦記

さてフェデラーナダル以外のトップ選手が次々消えるトーナメント。 さてさて誰が勝つものやら。

八日目

ルブレフvsゴフィン

久々にゴフィンを観戦。 そんなに良いわけでもないけど無難にはまとめてる感じ。 対するルブレフはディミトロフを倒したのはまぐれではないと見せつける感じのプレー。 フォアハンドの強打がよく決まる。 バックハンドスライスなど時折変なショットを打ったり、ぼちぼちブレークされたりもするんだけど、なんというか勝負強い。 7−5、7−6で2セットアップ。
3セット目はブレークからスタート。 ゴフィンちょっと怪我が悪くなったかな。 ちょっと動きが落ちた感。 けどゴフィンのバックハンドのダウンザラインのリターンはずっといい。 最後にもう一つブレークしてルブレフの勝利。 やっぱりゴフィンは怪我が芳しくなかったよう。 ルブレフはナダルに勝ってもおかしくないし、少なくとも良い勝負はするんじゃないだろうか。

バンダウェイvsサファロバ

地元の声援をうけるバンダウェイとサウスポーのサファロバの戦い。 2セット目の最後からちょろっと観戦。 バンダウェイは結構正統派って感じ。 サファロバはサウスポーなだけで正統派って感じかしら。 この2セット目終盤だけ見るとバンダウェイとても良いプレーヤー。 もう少し高いシードでも良さそうな。 USオープンがあってるのかしらね。 じりじりとしたタイブレークは息子をあやしている間に終わっていた。 バンダウェイは今大会のプリスコバなら勝てるんじゃないだろうか。

九日目

シュバルツマンvsカレノブスタ

主審と喋りまくっていた両者が印象的なファーストセット。 最初はシュバルツマンが悪くて、少しずつ上げていったけど追いつけなかったって感じの第一セット。 どちらにころぶかはまだわからない。
第二セットも、なんやかんやブレイクしあった末にカレノブスタがとって2−0。 時折良いラリーはあるのだけど、ミスも多いゲームである。 この手のゲームはどっちか応援してると楽しんだろうな。 さてこのままカレノブスタがとるのか。
第3セットもなんだかミスの多い展開でカレノブスタがとって3−0。 カレノブスタは次ビッグサーバーを倒すとファイナルか。 ふーむ。

セバストワvsスティーブンス

セバストワは前のゲームをちょろっと見たのと似たような感じ。 スティーブンスが面白い。 ガツガツくる系かと思ったら、めちゃくちゃ落ち着いてプレーするタイプ。 すごく力が抜けてるように見えるのに、飛んで行くボールには結構力がある。 セバストワが少し怪我のよう。 今大会はほんと怪我が多くて残念。 スティーブンスが何個かブレークして第一セットを取った。 このまま行きそうな感じだけど、眠いのでここまで。

十日目

プリスコバvsバンダウェイ

ナンバー1シードと地元のバンダウェイ。 1セット途中からだったけど、プリスコバがブレークバックしてタイブレーク突入。 1個のミニブレークでバンダウェイが逃げ切った。 プリスコバは安定はしてるけど普通な感じ。 バンダウェイはミスも多いけど、大観衆を背に頑張っている。 実力が均衡してるゲームだと運やら歓声やらも重要ですな。
2セット目はバンダウェイがうまいことブレークして勝利。 バンダウェイが次勝てるかは出来次第って感じのプレーヤーかな。 まあ良いサーブとフォアファンドが魅力的。

ナダルvsルブレフ

期待のルブレフをあっさり粉砕した第一セット。 ナダルは単純に強いのもあるし、ポイント押さえるのがうまいなあって感じ。 ルブレフが第二セットに向けて上げていけるか。
第二セットは少しルブレフが良くなったけど、ナダルの勢いは止まらず。 ナダルは何気にサーブが良いんだよね。 ルブレフもう少し粘れると次に繋がるかな。
ブレークからスタート。 ルブレフはバックハンドが計算できないのがちょっと痛い。 もうちょっとできてもよいような気がするのだけど、やっぱり少しナーバスなのかな。 ナダルに勝つには弱点があっちゃダメでしたって印象のゲームだった。

D

 

 

pythonのmatplotlibを使ったプロットの描画

今回の投稿ではpythonのmatplotlibを使ったプロットの描画の仕方をまとめておきたいと思う。

プロットを作るためのソフトウェア

さて数値データを人に説明しようかと思うと、やはり何らかのプロット(絵)に変換して見せるのがわかりやすいかと思う。 数値データからプロットを作るソフトウエアはエクセルをはじめとして各種の優れた有料ソフトウエアが存在している。 普通はエクセルか所属機関が購入しているソフトを使うことが多いのだろうけど、見た目にこだわりがあるなら自分の予算次第で買うのもありだろう。 そんなに高いわけでもない。
無料ソフトで作りたいと思ったら、gnuplotなどはかなり高性能な上に見た目も良いプロットを作ることができる。 プログラミングと組み合わせて使っている人が多いソフトでもある。 使い勝手に対する意見は分かれるところかもしれないが。

pythonを使ったプロットの描画(matplotlib)

さて我らがpythonはどうなんだというと、matplotlibというパッケージが用意されている。 pythonを使い慣れていればそれなりに使い勝手は良いし、絵も努力次第ではかなり綺麗な絵を出力することができる。 pythonは使っている人が多いので、色合いやプロット形式などのフォーマットを拾ってくれば簡単にクオリティーの高い絵を出力することができる。 もちろん自分の好みを追求していくことも可能だ。
とはいえpythonでプロット出力のスクリプトを書くのには、それなりに時間もかかる。 一つのプロットを作るのにスクリプトを書くのは、あまり賢いことではないだろう(私は自分に練習だからと言い聞かせて書いてしまうこともあるが)。 一方で似たような形式のデータから多数のプロットを作製したい時などは、スクリプトを書くことで時間の短縮ができることもある。 さらに何かのプログラムを書いた時に、ついでにプロットを一緒に出力してしまうのも良い方法だ。 例えば私は良く2Dイメージを強度vsピクセルのプロットに変換するのだが、テキストデータを作ると同時にプロットも出力してしまうようにスクリプトを書いている。

matoplotlibを使ったスクリプトの例

matplotlibはanacondaのpythonを使っていれば標準インストールされていると思う。 そうでない場合はpipでインストール。

pip install matplotlib

スクリプトの最初にmatplotlibのpyplotをインポートしておく。 基本的にはこれだけで良いと思うけど、必要に応じて他の関数もインポートする。 私はグレイスケールの画像を使うのにmatplotlib.cmなどもインポートしている。

import matplotlib.pyplot as plt

私の場合他のパッケージとの競合でのバグ避けようにおまじない。

matplotlib.use('TkAgg')

さてプロットの基本設定は紛らわしくないように、メイン関数の中にでも書いておくと良いかと思う。上からフォント・サイズ・各軸の線の太さ・x軸のメモリの太さ・x軸のラベルサイズ・y軸のメモリの太さ・y軸のラベルサイズ。 最後のは絵を出力する際のサイズ比。 調べてないけどrcParamsはもっと色々設定できるんじゃないだろうか。

plt.rcParams['font.family']='Arial'
plt.rcParams['font.size']= 20
plt.rcParams['axes.linewidth']=3.5
plt.rcParams['xtick.major.width']=2.5
plt.rcParams['xtick.labelsize']=20
plt.rcParams['ytick.major.width']=2.5
plt.rcParams['ytick.labelsize']=20
plt.rcParams['figure.figsize']=(8,6)

さてデータは適当に読み込む。 numpyだったらこんな感じ?

plot = np.loadtxt(argvs[1])

そうしたらプロットを作る関数なりクラスなりを書く。 この場合yが縦軸のデータでx軸が横軸になる。 –は線グラフになるが、oなどを使うと散布図で出力できる。

plot_data(plot)
def plot_data(plot):
y = plot[50:2000,1]
x = plot[50:2000,0]
plt.plot(x, y, '--', colour = [1,1,1], linewidth =2, label='test')

といった感じ。
細かいプロットの調整は関数の中でしても良いかも。 特に一つのプログラムの中で複数のプロットを出力するのに、それぞれ設定を変えたい時なんかに。 そんな時は一つプロットが終わって絵を吐き出したらplt.clf()でリセットしておく。
話を戻してX軸y軸のラベルの調整。

plt.tick_params(axis ='y', which ='both', left='off', right='off', labelleft='on', pad=10)
plt.tick_params(axis ='x', which ='both', top='off',pad=8)

縦横軸の設定。 フォントは初期設定から変えたい場合はここでも変えられる。 特殊記号も下記のようにtex形式やらコードやらで記入可能。

plt.xlabel(r"$\theta$"' (\u00B0)', fontsize = 30, fontname='Arial')
plt.ylabel("Int", fontsize = 30, fontname ='Arial')

レジェンドを図中に入れるなら。 locで場所の指定ができる。 bestみたいなお任せで適当に入れてもらう機能もあるが、必ずしもよくない。

plt.legend(fontsize =14, loc='upper right')

図の保存。 サイズ指定で絵を出力するとはみ出ることがあるので、bbox_inches=’tight’を指定しとくときっちり収まる。

plt.savefig(name, bbox_inches='tight')

あとはx軸とy軸の範囲指定はよく使う。

plt.xlim(5, 100)
plt.ylim(0,10000)

などなど。 最後に保存した絵に加えて、pythonにもプロット出力させておきたかったら。

plt.show()

基本的な使い方はこんな感じでしょうか。 あとはプロットする色の組み合わせなど外部パッケージを使うと少し楽できる。 私が使ったことがあるのはbrewer2mpl。 まずは色のグラデーションを作ってあげる。

import brewer2mpl
bmap = brewer2mpl.get_map('Blues','sequential', 7)
bmap2 = brewer2mpl.get_map('OrRd','sequential', 7)
colors =bmap.mpl_colors
colors2 =bmap2.mpl_colors

それからカラーをcolor[]で指定して出力してあげる。

plt.plot(arr1[50:1000,0],17000+arr1[50:1000,2], '-',color=colors[6], lw=2, alpha=0.7, label='WATER')

てな具合に。
今思いついたのはこのぐらい。 何か有用なことでも思い出したら追記するが、あまり思いつきそうなことももないかなとも思っている。

関連記事

pythonのまとめ

D

適当セルフカットでそれなりにまとめる方法

適当セルフカットが必用になるとき

海外で生活していると、ちょっとしたことがめんどくさかったりするものである。 髪を切りに行くなんてのもその一つで、自分の気に入る床屋を見つけるなんてのは結構大変だったりする。 短くなれば良いと近くの床屋にいくのもありだが、それだったらいっそ自分で切ってしまうというのも選択肢だろう。 私が最初アメリカに行った時にインド人に紹介された床屋は行く人全員角刈りになって戻ってくる床屋であった(いや、みんなそうリクエストしたのかもしれないけれど・・)。
あ、大都市だともちろん話しは別で、日本の美容室の支店とかもあったりする。 値段を気にしなければ簡単に良いところが見つかるだろう。
さてお洒落にセルフカットを目指すWebページはたくさんあるので、この投稿では適当に見れれば良いやくらいで、必要にかられた場合のセルフカットの仕方について書いてみたい。

適当セルフカットに必用なもの

自分で髪を切るときに必要なものは何か。 それはもちろんハサミである。 床屋さん用のハサミがあるならベストなのかもしれないが、必ずしも必要なわけでもない。 私の経験では普通の文房具用のはさみが結構使いがってが良い。 サイズや切れ味などがちょうどよいのだ。
キッチンハサミも使ったことがあるが、少々髪を切るにはでかすぎた。 特に後ろ側や耳そばを切るのが結構怖い。 切れ味は申し分ないのだが。
翻って眉毛用の小さなハサミ。 こちらは小さすぎて指が痛くなるが、細かい調整や髪の量を減らすのには意外といけた。
すきばさみはあると便利だが、ないならないで髪をつまんで量を減らせばよい。 ちなみにすきばさみは安いやつの方が切れすぎなくて失敗しにくい印象。 ちょっと高いのを買って見たことがあるのだけど、ざっくり適当にすくには向かなかった。 ついでにすきばさみはフィンランドでも売っていた。 アメリカでは見た記憶がないけれどあったのかな?
慣れてくればなくてもなんとかなるが鏡はあった方が良い。 後は飛び散った髪の掃除がめんどくさい人は、新聞紙か何か用意しておくと良い。 私は適当にビニール袋に突っ込んで、漏れたのはトイレットペーパーで集めてフラッシュ。 ついでにトイレ掃除でもすればなお良し。

適当セルフカットの仕方

さてきり始めは長さを短くしていく。 右利きの場合は左手で髪をつまんで引っ張り、その指際をサクサク切っていく。 指を切らないように注意。 意外と切らないもので長い歴史の中で、怪我をしたのは刃を直接指にぶつけて切った一回だけだ。 同じように引っ張って、指からはみ出る毛がなくなったらだいたい良い。  ちょっとずつ摘まんでいったほうが失敗はしにくいが時間もかかる。 この引っ張り具合を微調整すれば長さがコントロールできる。
聞き手の反対側は割りと切りやすいが、同じ側が難しい。 感覚が違うので初めは右側と左側が不揃いにならないよう注意が必要だ。 後ろ側は見えないので難しいのだけど、髪が全面を覆っているので多少失敗しても気付かれにく。 さくさく短くしていこう。 襟足の長さだけ不揃いにならないように。 気になる場合は後ろだけ誰かに手伝ってもらうと良いかもしれない。
長さが短くなったら、必用に応じて量を減らしていく。 わたしの場合は髪をぐしゃっと掌で握った感覚で重さを判断し、重たいところにすきばさみをいれていく。 すきばさみは毛先からいれて感覚を掴む。 根本に少しハサミをいれて軽くしたい場合もあるが、勢いよく根元に行くとハゲる。 普通のハサミを使う場合はごく少量の毛束をつまんで全体バランスが良くなるように落としていく。

セルフカットのTIPS

日本で美容室に行った時に教えて もらったのだが、髪の質というか生えてる向きなどは左右で結構違う。 私の場合だと左はすいたほうが収まりが良いが、右はむしろあまりすかない方が跳ねないよいだ。 これは髪の生え方で違うそう。 まあこれは人次第なので美容師に聞こう。
また別の美容師の言うところによると、ワックスを使わない前提ならそもそも空かないで短くするだけの方が良いとか。 と言いつつすかないと仕事した気がしないからちょっとすいときますねって、陽気なお兄さんだった。 これもすかないと髪が乾きにくかったりするので一長一短。
美容師は聞くと結構セルフカットのためのこつを教えてくれるものだ。 しっかりセットしたかったらセルフじゃ難しいと知っているからかな?

D