Algorithms and models for data collection, analysis, and visualization (Mathematical methods of data visualization)
This course covers a wide spectrum of mathematical models of data visualization topics, from foundational concepts to advanced techniques. Beginning with an overview of chart types and potential misrepresentations, it proceeds to explore Python libraries, software tools, and specialized plots. The course delves into advanced domains, discussing the visualization of fields, vectors, tensors, tree structures, and graph representations. It also covers dimension reduction methods, text data visualization using LaTeX, and the principles of effective infographic design. With practical examples and comparisons, the course aims to provide a comprehensive understanding of data visualization for effective communication.
Syllabus for 122 Computer Science
Syllabus for 113 Applied Mathematics
Levels of visualization. Chart types: Line, Pie, Bar, Histogram, Spaghetti, Map, Steam, Bubble, Gantt, Sunburst, Polar Clock, Radar, Tag cloud, Heat map, Trees, Mind Map. How to lie with charts? Chart Junk.
Matplotlib, Seaborn, Plotnine(ggplot), Bokeh, pygal, Plotly, geoplotlib, Gleam, missingno, Leather, Altair, Folium. 2D and 3D plots. Log scale. Box plot, Violin plot. Examples.
Introduction and problem statement. Scalar filed. Gradient of scalar field. Divergence and Vorticity. Vector Glyphs. Vector Color Coding. Displacement Plots. Stream Lines, Tensor glyphs, Tensor field lines, Hyperstreamlines.
Historical context, first paper of tree visualization (Tutte, Knuth). Application of tree visualization (UML, Biology, Networks, Security, Social Networks). Requirements, conventions to tree visualization. D. Knuth algorithm, Theorem of area of tree laying. Tree Drawing Algorithm: Layered Drawing, Radial Drawing, HV-Drawing, Recursive Winding. Dendrogram. Balloon trees. Hyperbolic Tree. Space-filling methods: Tree map, Beamtree, Icicle.
Introduction and problem statement. Algorithm of graph drawing: Straight Line Drawing. Orthogonal Drawing. Grid Drawing. Circular Drawing. Polyline Drawing. Upward drawing. Sugiyama method. Force directed graph drawing (mathematical problem statement): Kamada & Kawai, Fruchterman & Reingold, Davidson & Harel. Software for Graph visualization: NetworkX, Gephi. Examples. Visualization of large graph.
Introduction and problem statement. Linear method. PCA and SVD. Examples: Iris, Eigen Faces, MNIST. Discussion. Nonlinear method: MDS, ISOMAP, LLE, Laplacian eigenmaps, SNE, tSNE. Examples. Method comparation. Sklearn library.
Introduction to latex, setting up a latex document, typesetting text, handling latex errors, typesetting equations, using latex packages. Structured documents, sections, labels and cross-references, figures and tables in latex, automatic bibliographies with bibtex, useful latex packages and online resources, latex presentations with beamer, drawing in latex with tikz, tracked changes and comments with todo notes.
Definition and purpose, Historical context and evolution, Importance in modern communication. Principles of Effective Infographic Design: Simplicity and clarity, Visual hierarchy, Consistency and coherence, Audience consideration. Types of Infographics: Statistical infographics, Informational infographics, Timeline infographics, Comparison infographics, Process infographics, Geographical infographics. Choosing the Right Data for Infographics: Identifying key messages, Color, Typography, and Layout. The psychology of color in communication, Typography best practices, Layout considerations for optimal readability.
- Task 01. Intro to matplotlib
- Task 02. Vector and Tensor field
- Task 03. Animation with matplotlib
- Task 04. Binary tree
- Task 05. Tree visualization with networkx
- Task 06. Gephi
- Task 07. Instagram followers
- Task 08. Nonlinear dimension reduction
- Task 09. PCA + SVD
- Task 10. CV+Report with latex