Graphical Excellence Graphical Excellence CMSC 120: Visualizing Information 2/7/08 Lecture Part II
Dec 30, 2015
Graphical displays should:Graphical displays should: Show the data
Induce the viewer to think about substance, not◦ Methodology◦ Design◦ Technology
Tell the truth
Make the complex simple
Serve a clear purpose
Reveal the data
Principles of Graphics Principles of Graphics ExcellenceExcellenceMatter of substance, statistics,
and design
Communicate complex ideas with clarity, precision, and efficiency
Give viewer the greatest number of ideas in the shortest time, with the least ink, in the smallest space
A Matter of Substance and A Matter of Substance and StatisticsStatisticsCMSC 120: Visualizing Information2/7/08 Lecture: Part II
Samples and PopulationsSamples and PopulationsLaw of Large Numbers:
◦ The more observations we have, the greater the understanding we have of the true behavior of a system
Sample: set of observations
Population: all possible observations
Statistical Properties of Statistical Properties of DataData
Mean: average of all the values (expected value) Median: middle value Mode: value that occurs most often Variance: spread away from the mean Standard Deviation: square root of the variance
MaxMin
Relational StatisticsRelational Statistics
Covariance: spread of values in multiple dimensionsCorrelation: how well one measure predicts another
Pylab and Python Pylab and Python StatisticsStatisticsmean(<DATA>)median(<DATA>)var(<DATA>)std(<DATA>)correlate(<DATA>)corrcoeff(<DATA>)cov(<DATA>)
Blocks of codeBlocks of code>>> def plotData():
plot(Year, Marijuana)
show()
xlabel('Year')
ylabel('Percentage')
title('Marijuana Drug Use')
>>> def plotData():
plot(Year, Marijuana)
show()
xlabel('Year')
ylabel('Percentage')
title('Marijuana Drug Use')
Function: a block of related code that performs a single task
defplotData: a user-defined “keyword”
ParametersParameters>>> def plotData():
plot(Year, Marijuana)
show()
xlabel('Year')
ylabel('Percentage')
title('Marijuana Drug Use')
>>> def plotData():
plot(Year, Marijuana)
show()
xlabel('Year')
ylabel('Percentage')
title('Marijuana Drug Use')
>>> def plotData2():
plot(Year, Heroin)
show()
xlabel('Year')
ylabel('Percentage')
title('Heroin Drug Use')
>>> def plotData2():
plot(Year, Heroin)
show()
xlabel('Year')
ylabel('Percentage')
title('Heroin Drug Use')
>>> def plotData():
plot(Year, Marijuana)
show()
xlabel('Year')
ylabel('Percentage')
title('Marijuana Drug Use')
>>> def plotData():
plot(Year, Marijuana)
show()
xlabel('Year')
ylabel('Percentage')
title('Marijuana Drug Use')
ParametersParameters
Input
Flexibility
>>> def plotData(data, name):
plot(Year, data)
show()
xlabel('Year')
ylabel('Percentage')
title(name + ' Drug Use')
>>> def plotData(data, name):
plot(Year, data)
show()
xlabel('Year')
ylabel('Percentage')
title(name + ' Drug Use')
Running a FunctionRunning a Function>>> plotData()
>>> plotData()
Traceback (most recent call last): File "<pyshell#5>", line 1, in
<module> plotData()NameError: name 'plotData' is not
defined
ModulesModules
Type the function definition in a text fileSave SOURCE CODE
# File: plotdata.py
# Purpose: A useful plotting function
# Author: Me
# Import Pylab
from pylab import *
# Import Data
from DrugData import *
# Define the function
def plotData(data, name):
plot(Year, data)
show()
xlabel('Year')
ylabel('Percentage')
title(name + ' Drug Use')
# File: plotdata.py
# Purpose: A useful plotting function
# Author: Me
# Import Pylab
from pylab import *
# Import Data
from DrugData import *
# Define the function
def plotData(data, name):
plot(Year, data)
show()
xlabel('Year')
ylabel('Percentage')
title(name + ' Drug Use')
CommentsComments
AnnotateExplainIdentify
# File: plotdata.py
# Purpose: A useful plotting function
# Author: Me
# File: plotdata.py
# Purpose: A useful plotting function
# Author: Me
Import StatementImport Statement
Load modules into interpreter memory
from <MODULE> import <SOMETHING>from DrugData import Marijuana
# Import Pylab
from pylab import *
# Import Data
from DrugData import *
# Import Pylab
from pylab import *
# Import Data
from DrugData import *
StringsStrings
A list of charactersIndicated by '<SOMETHING>'
String concatenation: 'a' + 'b' 'ab'
title(name + ' Drug Use')
title(name + ' Drug Use')
Function DefinitionFunction Definition
# Define the function
def plotData(data, name):
plot(Year, data)
show()
xlabel('Year')
ylabel('Percentage')
title(name + ' Drug Use')
# Define the function
def plotData(data, name):
plot(Year, data)
show()
xlabel('Year')
ylabel('Percentage')
title(name + ' Drug Use')
You can define more than function in a module
Running a Function from a Running a Function from a ModuleModule>>> from plotData import *
>>> plotData(Heroin, 'Heroin')
>>> from plotData import *
>>> plotData(Heroin, 'Heroin')
Return ValuesReturn Values
Output
return <SOMETHING>Function exits immediately after
executing
>>> def average(data):
# function uses “average”
# instead of “mean”
return mean(data)
>>> def average(data):
# function uses “average”
# instead of “mean”
return mean(data)
Module Syntax: Module Syntax: IndentationIndentation>>> def plotData():
plot(Year, Marijuana)
show()
xlabel('Year')
ylabel('Percentage')
title('Marijuana Drug Use')
>>> def plotData():
plot(Year, Marijuana)
show()
xlabel('Year')
ylabel('Percentage')
title('Marijuana Drug Use')
File "<pyshell#7>", line 3 show() ^IndentationError: unexpected indent