UID:
almahu_9949707893402882
Format:
1 online resource (200 pages).
ISBN:
9788770040037
,
8770040036
,
9781003823957
,
1003823955
,
9781032657301
,
1032657308
,
9781003823964
,
1003823963
Series Statement:
River Publishers series in mathematical, statistical and computational modelling for engineering
Content:
Interactive visualization and visual analytics tools have been designed and developed in the past and will be developed in the future as well. In each application domain in which data is measured, generated, and recorded we see a potential candidate for an interactive visualization tool with the goal to find insights and knowledge in the data. This knowledge can be found either visually by humans' interventions or algorithmically by the machine, in the best case by applying both concepts in combination as in visual analytics. One of the easiest ways to get an interactive visualization tool running is by means of dashboards, typically implemented as webpages that can run in a web browser and are accessible online, creating some kind of web-based solution. This book describes ways to design and implement dashboards based on the programming language Python, the graphics library Plotly, and Dash. The readers can use the provided dashboard codes as a starting point and extend the functionality and features on their desire. Technical topics discussed in the book include: • Design in visualization • Interaction principles in information visualization • User interface design • Linking Python, Dash, and Plotly • Coding in Python • Dashboard examples with Python code.
Note:
Preface xi List of Figures xv List of Tables xxi List of Abbreviations/Acronyms xxiii 1 Introduction 1 1.1 A Visualization Pipeline 2 1.2 Human Users and Tasks 5 1.3 Programming Directions and Solutions 8 2 Creating Powerful Dashboards 13 2.1 Data Handling 15 2.1.1 Data types 16 2.1.2 Data reading and parsing 20 2.1.3 Data storage 22 2.1.4 Data preprocessing 23 2.1.5 Data transformation 24 2.2 Visualization and Visual Analytics 26 2.2.1 Visual variables 28 2.2.2 Perception and cognition 30 2.2.3 The role of the human users 35 2.2.4 Algorithmic concepts 36 2.3 Examples of Visualization Techniques 38 2.3.1 Visualizing simple data types 39 2.3.2 Graph/network visualization 42 2.3.3 Hierarchy visualization 44 2.3.4 Multivariate data visualization 46 2.3.5 Trajectory visualization 48 2.3.6 Text visualization 49 2.4 Design and Prototyping 51 2.4.1 Visual design rules 53 2.4.2 No-goes and bad smells 55 2.4.3 Interface design rules 58 2.4.4 Creating a graphical user interface 61 2.5 Interaction 63 2.5.1 Interaction categories 64 2.5.2 Interaction modalities 66 2.5.3 Displays 68 2.5.4 Multiple coordinated views 70 3 Python, Dash, Plotly, and More 73 3.1 General Background Information 74 3.1.1 Python 75 3.1.2 Dash 76 3.1.3 Plotly and Plotly Express 77 3.1.4 Further ingredients and concepts 80 3.2 Installations and Options 82 3.2.1 Interactive mode 83 3.2.2 Jupyter Notebook mode 84 3.2.3 Integrated development environment (IDE) 85 3.2.4 GitHub 87 3.3 Interplay between Dash, Plotly, and Python 88 3.3.1 Reading and parsing in a dashboard 90 3.3.2 Data transformation in a dashboard 91 3.3.3 Dash core components 93 3.3.4 Dash HTML components 94 3.3.5 Cascading style sheets (CSS) 96 3.3.6 Plotly in a dashboard 97 3.3.7 Callbacks 98 3.4 Deploying 101 3.4.1 Heroku 102 3.4.2 International users 103 3.4.3 Online user evaluation 105 3.4.4 Benefits and drawbacks of online dashboards 106 4 Coding in Python 109 4.1 Expressions 110 4.1.1 Arithmetic expressions 111 4.1.2 Relational expressions 113 4.1.3 Boolean or logical expressions 114 4.1.4 Bitwise expressions 116 4.1.5 Mixed expressions 116 4.2 Data Types and Variables 118 4.2.1 Basic data types 118 4.2.2 Composite data types 120 4.2.3 Conversion between data types 123 4.2.4 Variables 124 4.2.5 Constants 125 4.3 Strings and Characters 126 4.3.1 String methods 126 4.3.2 ASCII code and table 128 4.3.3 User input and regular expressions 129 4.3.4 Comments 131 4.4 Conditionals and Exceptions 132 4.4.1 If and else 133 4.4.2 Pattern matching 134 4.4.3 Exceptions 135 4.5 Loops 136 4.5.1 Definite iteration 137 4.5.2 Indefinite iteration 139 4.5.3 Nested loops 140 4.6 Functions 141 4.6.1 Defining a function 141 4.6.2 Calling a function 142 4.6.3 Nesting of functions 144 4.6.4 Local and global variables 145 4.7 More Complex Functions 146 4.7.1 Recursion versus tail recursion 146 4.7.2 Higher-order functions 149 4.7.3 Lambda expressions 150 4.8 Reading and Writing Data 151 4.8.1 User input 152 4.8.2 Reading from a file 153 4.8.3 Writing on a file 155 4.8.4 Reading web content 156 4.9 Object-Oriented Programming 157 4.9.1 Classes 157 4.9.2 Objects and instances 159 4.9.3 Methods 160 4.9.4 Inheritance 161 5 Dashboard Examples 163 5.1 Modifying the Color in a Diagram 164 5.1.1 A simple dashboard with a histogram 165 5.1.2 Coding details 166 5.1.3 Dashboard in action 169 5.2 Two Diagrams, Bootstrap, and Value Filter 170 5.2.1 Extension with a scatter plot and slider 171 5.2.2 Coding details 172 5.2.3 Dashboard in action 176 5.3 Dashboard with Tabs, CSS, and Plotly Template 177 5.3.1 Histogram and scatter plot separately 177 5.3.2 Coding details 179 5.3.3 Dashboard in action 184 5.4 Inputs from a Plot and Plotly Go 185 5.4.1 Selecting point clouds for an overview 185 5.4.2 Coding details 187 5.4.3 Dashboard in action 193 5.5 Two Tabs, Three Plots in One Tab, and Several Inputs 194 5.5.1 Scatter plot as a density heatmap 195 5.5.2 Coding details 196 5.5.3 Dashboard in action 211 6 Challenges and Limitations 213 6.1 Design Issues 214 6.1.1 Interface design challenges 215 6.1.2 Visual design challenges 216 6.1.3 Aesthetics criteria 217 6.2 Implementation Challenges 219 6.2.1 Software and libraries 220 6.2.2 Integrated development environments (IDEs) 221 6.2.3 Developers and experience levels 222 6.2.4 Operating systems 223 6.2.5 Internet connection and servers 224 6.2.6 Web browsers 225 6.3 Challenges during runtime 227 6.3.1 Data scalability 228 6.3.2 Algorithmic scalability 229 6.3.3 Visual scalability 230 6.3.4 Perceptual scalability 231 6.4 Testing Challenges 233 6.4.1 Online accessibility 234 6.4.2 Runtime performance 235 6.4.3 User performance and evaluation 236 7 Conclusion 239 References 241 Index 269 About the Authors 289.
Additional Edition:
Print version: BURCH, MICHAEL. SCHMID, MARCO. DASHBOARD DESIGN. [Place of publication not identified] : RIVER PUBLISHERS, 2023 ISBN 8770040044
Language:
English
DOI:
10.1201/9781032657301
URL:
https://www.taylorfrancis.com/books/9781032657301
Bookmarklink