Python mode for Processingにおいて、時系列データのハンドリングを整備する。 Pythonには、もっと便利なライブラリーがありそうだが、ここではJAVA Processingコードをできるだけその […]
Month: 5月 2018
Python mode for processing #6
Python Integratorsの仕上げです。これで「Processingによる情報視覚化Python化プロジェクト第3章マッピング」の完成です。 step16_lethargic_py.pyde [crayon-6 […]
Python mode for processing #5
Python道場:インテグレータの登場です。 ジワーッと変化させます。まずはClass IntegratorsのPython化からトライします。 Class Integrators [crayon-674366e45de […]
Python mode for processing #4
もっとInteractiveに スペースキーが押されたら、updateTable()関数を呼び出して、値をランダムに更新
1 2 3 4 5 6 7 8 9 10 |
def keyPressed(): if (key == ' '): updateTable() def updateTable(): global dataTable global rowCount for row in range(rowCount): newValue = random(-10, 10) dataTable.setFloat(row, 1, newValue) |
step11_randomize […]
Python mode for processing #3
いよいよInteractive Mouseとの距離を判定し、テキストを表示する。
1 2 3 4 5 |
if dist(x, y, mouseX, mouseY) < radius+2: fill(0) textAlign(CENTER) text(value, x, y-radius-4) text(abbrev, x, y-radius-19) |
step08_rollovers_py.pyde [crayon-674 […]
Python mode for processing #2
Python力増強の続き: step03_fig3_red_to_blue_py.pyde
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
import Table dataMin = 0 dataMax = 0 def setup(): global locationTable global mapImage global rowCount global dataTable global dataMin global dataMax size(640, 400) mapImage = loadImage("map.png") locationTable = Table.Table("locations.tsv") rowCount = locationTable.getRowCount() #print rowCount dataTable = Table.Table("random.tsv") # Find the minimum and maximum values for row in range(rowCount): value = dataTable.getFloat(row, 1) if value > dataMax: dataMax = value if value < dataMin: dataMin = value def draw(): global locationTable global mapImage global rowCount global dataTable global dataMin global dataMax background(255) #print(rowCount) image(mapImage, 0, 0) fill(192, 0, 0) noStroke() for row in range(0,rowCount): abbrev = dataTable.getRowName(row) x = locationTable.getFloat2(abbrev, 1) y = locationTable.getFloat2(abbrev, 2) drawData(x, y, abbrev) # Map the size of the ellipse to the data value def drawData(x, y, abbrev): global dataTable global dataMin global dataMax #Get data value for state value = dataTable.getFloat2(abbrev, 1) percent = norm(value, dataMin, dataMax) #Re-map the value to a number between 2 and 40 between = lerpColor('#FF4422', '#4422CC', percent) #red to blue fill(between) ellipse(x, y, 15, 15) |
step04_fig4_blue_green_py.pyde […]
Python mode for processing #1
しばし投稿が途絶えてしまったが、この間、ベイズ統計を少し横に置いて、Rの重回帰分析やグラフィックスについて理解を深めた。今週末はPython基礎体力をつけるために、Python mode for processingに取 […]