Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Let your data SPEAK!
Search
btel
September 03, 2012
Programming
1
2.6k
Let your data SPEAK!
Beginning data visualization in Python
btel
September 03, 2012
Tweet
Share
Other Decks in Programming
See All in Programming
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
450
Package Management Learnings from Homebrew
mikemcquaid
0
220
組織で育むオブザーバビリティ
ryota_hnk
0
170
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1.1k
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
300
dchart: charts from deck markup
ajstarks
3
990
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
690
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
1k
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
170
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
170
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
247
13k
The Pragmatic Product Professional
lauravandoore
37
7.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
140
The Curious Case for Waylosing
cassininazir
0
230
Claude Code のすすめ
schroneko
67
210k
BBQ
matthewcrist
89
10k
The SEO Collaboration Effect
kristinabergwall1
0
350
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
320
Information Architects: The Missing Link in Design Systems
soysaucechin
0
770
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
51
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.5k
Transcript
Let your data SPEAK! Introduction to data visualization Bartosz Telenczuk
Kiel, 2012 Monday, 3 September 2012
Monday, 3 September 2012
Monday, 3 September 2012
position length angle area saturation brightness volume shape hue Grouping
containment connection similarity proximity Monday, 3 September 2012
Monday, 3 September 2012
Monday, 3 September 2012
Visualization design principles Monday, 3 September 2012
Monday, 3 September 2012
Monday, 3 September 2012
Monday, 3 September 2012
Monday, 3 September 2012
Monday, 3 September 2012
Monday, 3 September 2012
Tools Monday, 3 September 2012
GET DATA PARSE IT PROCESS VISUALIZE PUBLISH urllib2 csv, beautifulsoup
numpy, scipy matplotlib, chaco, mayavi2 LaTeX, cherrypy Monday, 3 September 2012
John Hunter 1968-2012 Monday, 3 September 2012
Monday, 3 September 2012
plot scatter bar polar contour imshow Monday, 3 September 2012
import numpy as np import matplotlib.pyplot as plt t =
np.linspace(0, 2*np.pi, 100) #generate data y = np.sin(t) plt.plot(t, y) plt.xlabel('angle') #add axis labels plt.ylabel('amplitude') plt.xlim([0, 2*np.pi]) #set data limits plt.xticks([0, np.pi, 2*np.pi], #add tick labels ['0', r'$\pi$', r'2$\pi$']) plt.show() #show plot Monday, 3 September 2012
Monday, 3 September 2012
import matplotlib.pyplot as plt import matplotlib.patches as mpatches fig =
plt.figure(figsize=(5,5)) # create figure container ax = plt.axes([0,0,1,1], frameon=False) # create axes container art = mpatches.Circle((0.5, 0.5), 0.5, ec="none") # create an artist ax.add_patch(art) # add the artist to the # container ax.set_xticks([]) # remove axes ticks ax.set_yticks([]) plt.show() Monday, 3 September 2012
Monday, 3 September 2012
display transform data transform axes transform figure transform Monday, 3
September 2012
import numpy as np import matplotlib.pyplot as plt from matplotlib
import patches from matplotlib import transforms fig = plt.figure() ax = fig.add_subplot(111) x = 10*np.random.randn(1000) ax.hist(x, 30) trans = transforms.blended_transform_factory( ax.transData, ax.transAxes) rect = patches.Rectangle((8,0), width=10, height=1, transform=trans, color='gray', alpha=0.5) ax.add_patch(rect) plt.show() Monday, 3 September 2012
Interactivity Monday, 3 September 2012
import numpy from matplotlib.pyplot import figure, show def onpick(event): #
define a handler i = event.ind # indices of clicked points ax.plot(xs[i], ys[i], 'ro') # plot the points in red fig.canvas.draw() # update axes xs, ys = numpy.random.rand(2,100) fig = figure() ax = fig.add_subplot(111) line, = ax.plot(xs, ys, 'o', picker=5) # 5 points tolerance fig.canvas.mpl_connect('pick_event', onpick) # connect handler to event show() # enter the main loop Monday, 3 September 2012
Monday, 3 September 2012
points3d( ) contour3d( ) quiver3d( ) plot3d( ) Monday, 3
September 2012
from enthought.mayavi import mlab import numpy as np x, y
= np.ogrid[-10:10:100j, -10:10:100j] r = np.sqrt(x**2 + y**2) z = np.sin(r)/r mlab.surf(x,y, 10*z) mlab.outline() mlab.colorbar() Monday, 3 September 2012
Monday, 3 September 2012