Python

Webアプリ

最近の状況 前回の記事でWebアプリの開発のためにPythonのマイクロフレームワークであるFlaskについて学んでいますと書きましたが、ネット上のサンプルをいじりながら簡単なものなら書けるようになりました。ですので自分なりの知識の整理をするためにFlask…

Flask勉強中

先日 バイト帰りにメールチェックをしているとはてなブログからメールが届いていました。いつもどおりフォローしてるはてなブロガーの新記事が出たよというお知らせメールかと思いきや、一ヶ月ぐらい何も書いてないけどそろそろ書けば?という催促メールでし…

Anacondaから標準のPythonに

Raspberry Pi 3にPythonの環境を構築してて思ったのですが、環境構築ってAnacondaじゃなくてもよくない?と思ったのでAnacondaから標準のPythonに移行しました。環境はMacで行っております。 まずhomebrewをインストールします。この手順は他サイトで紹介さ…

Pythonの仮想環境構築

最近Raspberry Pi 3でwebアプリを作ろうと奮闘しております。システムにインストールされているPythonと分別する意味でも仮想環境下にPython環境を構築したほうが良いという情報をよく目にしたため、仮想環境の構築と日頃使っているライブラリのインストール…

新しいAnaconda

Pythonの環境づくりにpyenvとAnacondaを利用しております。一年ほど闇雲にインストールしたままでPythonを利用してきたのですが、さすがにそのまま使い続けるのもどうかと思ったので新しくインストールし直しました。 そして先日組んだGUIプログラムを起動さ…

limitlessledその4

limitlessledについての記事は4つ目となります。またしてもlimitlessledの操作をGUIアプリから行おうといういつもどおりの記事です。 前回、前々回もPyQtとledcontrollerを用いてGUIアプリを作成したのですが、コードの読みにくさや冗長な部分があったり、…

PyQtのタブ

PyQtにおいてどのタブがアクティブであるかを判断するにはタブのメソッドであるcurrentIndexを見るとわかります。タブに追加した順に0から整数が割り振られます。その数字によって選択されているタブが分かります。 日本語での情報がなかったので書いてみま…

limitlessledその3

PythonでGUIプログラミングをするときはだいたいPyQtを使っています。あまり使い慣れていないということもありまして一つのGUIプログラムを作るのに非常に時間がかかっていたのですが、この前いじっているときにようやっとコツを掴んだというか理解したので…

マルチスレッド

いつもながらPythonのことを。 limitlessled用のプログラムをPythonで組んだ(ここらへんのくだり)のですが、微妙に使いづらくあまり使っていません。というのもタイマーで何分後にオフみたいな設定をtime.sleep()で実装しているので、実際sleepしている間…

いつもながら適当なことをつらつらと

新年明けたのに何も書かないのもなあと思ったので書いてみます。 プログラミングの継承について 去年の暮れにあるプログラムを3つほどPythonで書いてたんですが、3つとも初っ端の書き出しの部分が同じ処理をしているんですよね。まあ、コピペすればいいだけ…

scipyでピーク検出

タイトルの通りですが、新しい関数とその使い方について書きます。やることはscipyでのピーク検出です。単純にピークと呼んでいますが、離散的なデータから極大極小を見つける関数のようです。 関数は以下のようにインポートします。 from scipy.signal impo…

matplotlibで図を作成する際の細かいところ

matplotlibでグラフを実際に書くことが多くなってきたのですが、実際使うとなるとデフォルト設定ではなくもう少しいじりたいなと思うことが多々あります。一回グラフを作成してから、プレビューで画像編集をしてもいいのですが、出来る限りプロセスは簡単で…

matplotlibのカラーマップ

オリジナルのカラーマップを作成して、matplotlibのプロットに使いたいときの方法です。参考 qiita.comやりたいことはすべてこちらの方に書いてあるのですが、あくまで備忘録用に書かせていただきます。 参考のColormapのカスタマイズのところで定義されてい…

np.dot

numpyの行列積を表すときにだいたいdotメソッドを使うと思いますが、先日読んだ記事ではpython3.5以降では@マークで行列積を表すことができるそうです。 >>> import numpy as np >>> a = np.arange(0, 6).reshape(3, 2) >>> a array([[0, 1], [2, 3], [4, 5]…

limitlessledその2

limitlessledの使い方です。まず、limitlessledのpythonAPIであるledcontrollerをpipでインストールします。limitlessledのブリッジのIPアドレスを調べます。あとはledcontrollerをimportして普通にpythonコードを書くだけです。サンプルは以下です。 #IPア…

Limitlessled

去年の今頃に引っ越しをしまして、その当時照明に凝ってみようと考えていたこともあり、ワイヤレスで制御できるLEDを探していました。この分野で一番名前が売れているのは疑うまでもなくhueだと思いますが、いかんせん高いです。これは自分でも思いましたし…

BIT演算

C/C++などのサイトでよく見るビット演算と言うものがどういうものかちょっとだけ分かってきたので、そのことについて書きます。いままでビット演算はどのようにやっているのかそもそもよくわからなかったのですが、単純にint型の変数を宣言してその中に代入…

非常に初歩的なこと

python環境の構築においてよく目にするPATHを通すということがどういうことかわかっていませんでした。 自分はどのディレクトリにおいてもコマンドにアクセスできるようにすることと理解しています。(初心者なので間違いがあれば訂正していただけると幸いで…

np.whereの使い方

np.whereはnumpyに含まれる関数です。np.where(condition, x, y)と引数を与えると、conditionが真の時にはx, conditionが偽の時にはyを与えるという風に使います。違う使い方としては、np.where(condition)とだけすると、conditionが真の時のindexを返すよう…

anacondaのアップデート

pythonのパッケージであるAnacondaのアップデートをしました。今までは2.4.1でしたが、今回は4.1.0にアップデートしました。やり方の説明ではないのですが、Anacondaのアイコンがかっこよくなってました。2.4.1よりは新しいアイコンのほうが好きですね。ただ…

matplotlibで3Dプロット

matplotlibの三次元プロットで複数axisを生成する方法がありましたので、コードを書いてみました。 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D N = 20 fig = plt.figure(figsize = (8, 6)) ax = fig.add_…

itertoolsについて

itertoolsというモジュールを使うことで、順列組み合わせを表現できるようです。もっと高度なことができるようですが、自分の使い方だとそこまで使わないかな という感じです。順列を使えるようになるとfor文のネストを減らすことができて見た目的にきれいに…

エネルギーダイアグラム

Pythonのソースコードを載せてみようかと思います。大学の課題で必要だったので、エネルギーダイアグラムをmatplotlibで作りました。以下にソースコードを載せます。物質名等はそれぞれ適当なものをお使いください。 #numpyとpyplotのimport import numpy as…

pythonのこと

昨日pythonをいじってて思ったこと matplotlibで散布図を描くときの色の指定について、 color = のところに配列を渡して、勝手に色変えてくれないかなと思っていたのですが、さすがにそんなことは無理でした。 それで最初からデータを分割して幾つかのグルー…