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
2.7k
1
Share
Let your data SPEAK!
Beginning data visualization in Python
btel
September 03, 2012
Other Decks in Programming
See All in Programming
瑠璃の宝石に学ぶ技術の声の聴き方 / 【劇場版】アニメから得た学びを発表会2026 #エンジニアニメ
mazrean
0
240
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
170
おれのAgentic Coding 2026/03
tsukasagr
1
140
Exploring RuboCop with MCP
koic
0
510
10年分の技術的負債、完済へ ― Claude Code主導のAI駆動開発でスポーツブルを丸ごとリプレイスした話
takuya_houshima
0
2.5k
Swift Concurrency Type System
inamiy
0
490
Coding at the Speed of Thought: The New Era of Symfony Docker
dunglas
0
4.9k
mruby on C#: From VM Implementation to Game Scripting (RubyKaigi 2026)
hadashia
1
250
JOAI2026 1st solution - heron0519 -
heron0519
0
120
Offline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
renaudmathieu
0
210
AI-DLC Deep Dive
yuukiyo
8
3.2k
煩雑なSkills管理をSoC(関心の分離)により解決する――関心を分離し、プロンプトを部品として育てるためのOSSを作った話 / Solving Complex Skills Management Through SoC (Separation of Concerns)
nrslib
4
890
Featured
See All Featured
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
120
From π to Pie charts
rasagy
0
160
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.2k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
140
Code Reviewing Like a Champion
maltzj
528
40k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
400
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
Evolving SEO for Evolving Search Engines
ryanjones
0
180
Site-Speed That Sticks
csswizardry
13
1.2k
How to Think Like a Performance Engineer
csswizardry
28
2.5k
The Spectacular Lies of Maps
axbom
PRO
1
690
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
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