Flotr 2 Architecture Notes Global: ====== Flotr.js - versioning information browser detection extension (plugins, graph types) draw clone / merge tick size tick formatter engineering notation magnitude rad, pixel, floor drawText measureText getBestTextAlign align map compatibility Graph Architecture: =================== Axis - all series orientation ticks (major, minor) scale (d2p, p2d, logarithmic) notion of stacks Series - per 'data' notion of range (x, y, min, max) Graph - DOM constructon event attachment options initialization data range calculations canvas spacing calculations event normalization draw methods DOM cleanup event cleanup Utilities: ========== Color build colors parse textual color data convert colors clone colors Text calculate text size canvas size html size Date formatting constants Spacing Calculation =================== Flotr calculate data calculate margins Chart calculate Data Ranges - Explicit or auto data minimum, maximums calculate Data Range Extensions - By chart type, extend data range with needs of chart type (ie. stacked bars, stacked lines) add Chart Padding - By chart type Text use explicit margins calculate label margins calculate title margins