Last active
November 8, 2019 07:10
-
-
Save kleem/0edab3200092267384f7 to your computer and use it in GitHub Desktop.
Collapsible Indented Tree
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{"name":"Dipartimenti","children":[{"type":"dipartimento","name":"Dipartimento Ingegneria, ICT e Tecnologie per l'Energia e i Trasporti","sigla":"DIITET","children":[{"type":"istituto","name":"Istituto di Informatica e Telematica","sigla":"IIT"},{"type":"istituto","name":"Istituto di Scienze e Tecnologie Informatiche","sigla":"ISTI"},{"type":"istituto","name":"Istituto Nazionale per Studi ed Esperienze di Architettura Navale","sigla":"INSEAN"},{"type":"istituto","name":"Istituto di Fisica del Plasma \"Piero Caldirola\"","sigla":"IFP"},{"type":"istituto","name":"Istituto Gas Ionizzati","sigla":"IGI"},{"type":"istituto","name":"Istituto di Ricerche sulla Combustione","sigla":"IRC"},{"type":"istituto","name":"Istituto di Tecnologie Avanzate per l'Energia \"Nicola Giordano\"","sigla":"ITAE"},{"type":"istituto","name":"Istituto Motori","sigla":"IM","children":[{"type":"unita_di_ ricerca","name":"motori","site_url":"www.motori.it"}]},{"type":"istituto","name":"Istituto di Fisica Applicata \"Nello Carrara\"","sigla":"IFAC"},{"type":"istituto","name":"Istituto dei Materiali per l'Elettronica ed il Magnetismo","sigla":"IMEM"},{"type":"istituto","name":"Istituto di Studi sui Sistemi Intelligenti per l'Automazione","sigla":"ISSIA"},{"type":"istituto","name":"Istituto per le Macchine Agricole e Movimento Terra","sigla":"IMAMOTER"},{"type":"istituto","name":"Istituto di Tecnologie Industriali e Automazione","sigla":"ITIA"},{"type":"istituto","name":"Istituto per le Tecnologie della Costruzione","sigla":"ITC"},{"type":"istituto","name":"Istituto di Acustica e Sensoristica \"Orso Mario Corbino\"","sigla":"IDASC"},{"type":"istituto","name":"Istituto per il Rilevamento Elettromagnetico dell'Ambiente","sigla":"IREA"},{"type":"istituto","name":"Istituto di Elettronica e di Ingegneria dell'Informazione e delle Telecomunicazioni","sigla":"IEIIT"},{"type":"istituto","name":"Istituto di Calcolo e Reti ad Alte Prestazioni","sigla":"ICAR"},{"type":"istituto","name":"Istituto per le Applicazioni del Calcolo \"Mauro Picone\"","sigla":"IAC"},{"type":"istituto","name":"Istituto di Analisi dei Sistemi ed Informatica \"Antonio Ruberti\"","sigla":"IASI"},{"type":"istituto","name":"Istituto di Matematica Applicata e Tecnologie Informatiche","sigla":"IMATI"}]},{"type":"dipartimento","name":"Dipartimento di Scienze Fisiche e Tecnologie della Materia","sigla":"DSFTM","children":[{"type":"istituto","name":"Istituto Officina dei Materiali","sigla":"IOM"},{"type":"istituto","name":"Istituto Superconduttori, Materiali innovativi e dispositivi","sigla":"SPIN"},{"type":"istituto","name":"Istituto di Nanoscienze","sigla":"NANO"},{"type":"istituto","name":"Istituto Nazionale di Ottica","sigla":"INO"},{"type":"istituto","name":"Istituto di Struttura della Materia","sigla":"ISM"},{"type":"istituto","name":"Istituto dei Sistemi Complessi","sigla":"ISC"},{"type":"istituto","name":"Istituto di Biofisica","sigla":"IBF"},{"type":"istituto","name":"Istituto di Scienze Applicate e Sistemi Intelligenti \"Eduardo Caianiello\"","sigla":"ISASI"},{"type":"istituto","name":"Istituto di Nanotecnologia","sigla":"NANOTEC"},{"type":"istituto","name":"Istituto di Fotonica e Nanotecnologie","sigla":"IFN"},{"type":"istituto","name":"Istituto per la Microelettronica e Microsistemi","sigla":"IMM"}]},{"type":"dipartimento","name":"Dipartimento di Scienze Chimiche e Tecnologie dei Materiali","sigla":"DSCTM","children":[{"type":"istituto","name":"Istituto per la Tecnologia delle Membrane","sigla":"ITM"},{"type":"istituto","name":"Istituto per lo Studio dei Materiali Nanostrutturati","sigla":"ISMN"},{"type":"istituto","name":"Istituto di Metodologie Chimiche","sigla":"IMC"},{"type":"istituto","name":"Istituto per lo Studio delle Macromolecole","sigla":"ISMAC"},{"type":"istituto","name":"Istituto per i Polimeri, Compositi e Biomateriali","sigla":"IPCB"},{"type":"istituto","name":"Istituto di Scienze e Tecnologie Molecolari","sigla":"ISTM"},{"type":"istituto","name":"Istituto per i Processi Chimico-Fisici","sigla":"IPCF"},{"type":"istituto","name":"Istituto di Chimica Biomolecolare","sigla":"ICB"},{"type":"istituto","name":"Istituto di Chimica dei Composti Organo Metallici","sigla":"ICCOm"},{"type":"istituto","name":"Istituto per la Sintesi Organica e la Fotoreattivit\u00e0","sigla":"ISOF"},{"type":"istituto","name":"Istituto di Scienza e Tecnologia dei Materiali Ceramici","sigla":"ISTEC"},{"type":"istituto","name":"Istituto di Chimica del Riconoscimento Molecolare","sigla":"ICRM"},{"type":"istituto","name":"Istituto di Cristallografia","sigla":"IC"},{"type":"istituto","name":"Istituto per l'Energetica e le Interfasi","sigla":"IENI"}]},{"type":"dipartimento","name":"Dipartimento di Scienze del Sistema Terra e Tecnologie per l'Ambiente","sigla":"DTA","children":[{"type":"istituto","name":"Istituto di Ricerca per la Protezione Idrogeologica","sigla":"IRPI"},{"type":"istituto","name":"Istituto di Geologia Ambientale e Geoingegneria","sigla":"IGAG"},{"type":"istituto","name":"Istituto di Scienze Marine","sigla":"ISMAR"},{"type":"istituto","name":"Istituto di Ricerca sulle Acque","sigla":"IRSA"},{"type":"istituto","name":"Istituto sull'Inquinamento Atmosferico","sigla":"IIA"},{"type":"istituto","name":"Istituto di Scienze dell'Atmosfera e del Clima","sigla":"ISAC"},{"type":"istituto","name":"Istituto di Metodologie per l'Analisi Ambientale","sigla":"IMAA"},{"type":"istituto","name":"Istituto per l'Ambiente Marino","sigla":"IAMC"},{"type":"istituto","name":"Istituto per la Dinamica dei Processi Ambientali","sigla":"IDPA"},{"type":"istituto","name":"Istituto di Geoscienze e Georisorse","sigla":"IGG"},{"type":"istituto","name":"Istituto di Biologia Agro-Ambientale e Forestale","sigla":"IBAF"}]},{"type":"dipartimento","name":"Dipartimento di Scienze Bio-Agroalimentari","sigla":"DISBA","children":[{"type":"istituto","name":"Istituto per il sistema produzione animale in ambiente Mediterraneo","sigla":"ISPAAM"},{"type":"istituto","name":"Istituto di Biologia e Biotecnologia Agraria","sigla":"IBBA"},{"type":"istituto","name":"Istituto di Biometeorologia","sigla":"IBIMET"},{"type":"istituto","name":"Istituto per i Sistemi Agricoli e Forestali del Mediterraneo","sigla":"ISAFoM"},{"type":"istituto","name":"Istituto per la Protezione Sostenibile delle Piante","sigla":"IPSP"},{"type":"istituto","name":"Istituto di Bioscienze e Biorisorse","sigla":"IBBR"},{"type":"istituto","name":"Istituto di Scienze delle Produzioni Alimentari","sigla":"ISPA"},{"type":"istituto","name":"Istituto per la Valorizzazione del Legno e delle Specie Arboree","sigla":"IVALSA"}]},{"type":"dipartimento","name":"Dipartimento di Scienze Biomediche","sigla":"DSB","children":[{"type":"istituto","name":"Istituto di Biostrutture e Bioimmagini","sigla":"IBB"},{"type":"istituto","name":"Istituto di Scienze Neurologiche","sigla":"ISN"},{"type":"istituto","name":"Istituto di Farmacologia Traslazionale","sigla":"IFT"},{"type":"istituto","name":"Istituto di Bioimmagini e Fisiologia Molecolare","sigla":"IBFM"},{"type":"istituto","name":"Istituto di Genetica Molecolare","sigla":"IGM"},{"type":"istituto","name":"Istituto di Tecnologie Biomediche","sigla":"ITB"},{"type":"istituto","name":"Istituto di Biomedicina e di Immunologia Molecolare \"Alberto Monroy\"","sigla":"IBIM"},{"type":"istituto","name":"Istituto di Fisiologia Clinica","sigla":"IFC"},{"type":"istituto","name":"Istituto di Neuroscienze","sigla":"IN"},{"type":"istituto","name":"Istituto di Ricerca Genetica e Biomedica","sigla":"IRGB"},{"type":"istituto","name":"Istituto di Biochimica delle Proteine","sigla":"IBP"},{"type":"istituto","name":"Istituto di Genetica e Biofisica \"Adriano Buzzati Traverso\"","sigla":"IGB"},{"type":"istituto","name":"istituto di Biologia Cellulare e Neurobiologia","sigla":"IBCN"},{"type":"istituto","name":"Istituto di Biologia e Patologia Molecolari","sigla":"IBPM"},{"type":"istituto","name":"Istituto per l'Endocrinologia e l'Oncologia \"Gaetano Salvatore\"","sigla":"IEOS"},{"type":"istituto","name":"Istituto di Biomembrane e Bioenergetica","sigla":"IBBE"}]},{"type":"dipartimento","name":"Dipartimento di Scienze Umane e Sociali - Patrimonio Culturale","sigla":"DSU","children":[{"type":"istituto","name":"Istituto di Studi sul Mediterraneo Antico","sigla":"ISMA"},{"type":"istituto","name":"Centro di Responsabilit\u00e0 di Attivit\u00e0 Scientifica","sigla":"IDAIC"},{"type":"istituto","name":"Istituto per i Beni Archeologici e Monumentali","sigla":"IBAM"},{"type":"istituto","name":"Istituto per le Tecnologie Applicate ai Beni Culturali","sigla":"ITABC"},{"type":"istituto","name":"Istituto per la Conservazione e Valorizzazione dei Beni Culturali","sigla":"ICVBC"},{"type":"istituto","name":"Istituto di Scienze e Tecnologie della Cognizione","sigla":"ISTC"},{"type":"istituto","name":"Istituto per le Tecnologie Didattiche","sigla":"ITD"},{"type":"istituto","name":"Istituto di Studi Giuridici Internazionali","sigla":"ISGI"},{"type":"istituto","name":"Istituto di Opera del Vocabolario Italiano","sigla":"OVI"},{"type":"istituto","name":"Istituto di Teoria e Tecniche dell'Informazione Giuridica","sigla":"ITTIG"},{"type":"istituto","name":"Istituto di Linguistica Computazionale \"Antonio Zampolli\"","sigla":"ILC"},{"type":"istituto","name":"Istituto di Studi sulle Societ\u00e0 del Mediterraneo","sigla":"ISSM"},{"type":"istituto","name":"Istituto di Ricerca su Innovazione e Servizi per lo Sviluppo","sigla":"IRISS"},{"type":"istituto","name":"Istituto di Storia dell'Europa Mediterranea","sigla":"ISEM"},{"type":"istituto","name":"Istituto di Studi sui Sistemi Regionali Federali e sulle Autonomie \"Massimo Severo Giannini\"","sigla":"ISSIRFA"},{"type":"istituto","name":"Istituto di Ricerche sulla Popolazione e le Politiche Sociali","sigla":"IRPPS"},{"type":"istituto","name":"Istituto di Ricerca sui Sistemi Giudiziari","sigla":"IRSIG"},{"type":"istituto","name":"Istituto per il Lessico Intellettuale Europeo e Storia delle Idee","sigla":"ILIESI"},{"type":"istituto","name":"Istituto per la Storia del Pensiero Filosofico e Scientifico Moderno","sigla":"ISPF"},{"type":"istituto","name":"Istituto di Ricerca sulla Crescita Economica Sostenibile","sigla":"IRCRES"}]}]} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "flare", | |
"children": [ | |
{ | |
"name": "analytics", | |
"children": [ | |
{ | |
"name": "cluster", | |
"children": [ | |
{"name": "AgglomerativeCluster", "size": 3938}, | |
{"name": "CommunityStructure", "size": 3812}, | |
{"name": "HierarchicalCluster", "size": 6714}, | |
{"name": "MergeEdge", "size": 743} | |
] | |
}, | |
{ | |
"name": "graph", | |
"children": [ | |
{"name": "BetweennessCentrality", "size": 3534}, | |
{"name": "LinkDistance", "size": 5731}, | |
{"name": "MaxFlowMinCut", "size": 7840}, | |
{"name": "ShortestPaths", "size": 5914}, | |
{"name": "SpanningTree", "size": 3416} | |
] | |
}, | |
{ | |
"name": "optimization", | |
"children": [ | |
{"name": "AspectRatioBanker", "size": 7074} | |
] | |
} | |
] | |
}, | |
{ | |
"name": "animate", | |
"children": [ | |
{"name": "Easing", "size": 17010}, | |
{"name": "FunctionSequence", "size": 5842}, | |
{ | |
"name": "interpolate", | |
"children": [ | |
{"name": "ArrayInterpolator", "size": 1983}, | |
{"name": "ColorInterpolator", "size": 2047}, | |
{"name": "DateInterpolator", "size": 1375}, | |
{"name": "Interpolator", "size": 8746}, | |
{"name": "MatrixInterpolator", "size": 2202}, | |
{"name": "NumberInterpolator", "size": 1382}, | |
{"name": "ObjectInterpolator", "size": 1629}, | |
{"name": "PointInterpolator", "size": 1675}, | |
{"name": "RectangleInterpolator", "size": 2042} | |
] | |
}, | |
{"name": "ISchedulable", "size": 1041}, | |
{"name": "Parallel", "size": 5176}, | |
{"name": "Pause", "size": 449}, | |
{"name": "Scheduler", "size": 5593}, | |
{"name": "Sequence", "size": 5534}, | |
{"name": "Transition", "size": 9201}, | |
{"name": "Transitioner", "size": 19975}, | |
{"name": "TransitionEvent", "size": 1116}, | |
{"name": "Tween", "size": 6006} | |
] | |
}, | |
{ | |
"name": "data", | |
"children": [ | |
{ | |
"name": "converters", | |
"children": [ | |
{"name": "Converters", "size": 721}, | |
{"name": "DelimitedTextConverter", "size": 4294}, | |
{"name": "GraphMLConverter", "size": 9800}, | |
{"name": "IDataConverter", "size": 1314}, | |
{"name": "JSONConverter", "size": 2220} | |
] | |
}, | |
{"name": "DataField", "size": 1759}, | |
{"name": "DataSchema", "size": 2165}, | |
{"name": "DataSet", "size": 586}, | |
{"name": "DataSource", "size": 3331}, | |
{"name": "DataTable", "size": 772}, | |
{"name": "DataUtil", "size": 3322} | |
] | |
}, | |
{ | |
"name": "display", | |
"children": [ | |
{"name": "DirtySprite", "size": 8833}, | |
{"name": "LineSprite", "size": 1732}, | |
{"name": "RectSprite", "size": 3623}, | |
{"name": "TextSprite", "size": 10066} | |
] | |
}, | |
{ | |
"name": "flex", | |
"children": [ | |
{"name": "FlareVis", "size": 4116} | |
] | |
}, | |
{ | |
"name": "physics", | |
"children": [ | |
{"name": "DragForce", "size": 1082}, | |
{"name": "GravityForce", "size": 1336}, | |
{"name": "IForce", "size": 319}, | |
{"name": "NBodyForce", "size": 10498}, | |
{"name": "Particle", "size": 2822}, | |
{"name": "Simulation", "size": 9983}, | |
{"name": "Spring", "size": 2213}, | |
{"name": "SpringForce", "size": 1681} | |
] | |
}, | |
{ | |
"name": "query", | |
"children": [ | |
{"name": "AggregateExpression", "size": 1616}, | |
{"name": "And", "size": 1027}, | |
{"name": "Arithmetic", "size": 3891}, | |
{"name": "Average", "size": 891}, | |
{"name": "BinaryExpression", "size": 2893}, | |
{"name": "Comparison", "size": 5103}, | |
{"name": "CompositeExpression", "size": 3677}, | |
{"name": "Count", "size": 781}, | |
{"name": "DateUtil", "size": 4141}, | |
{"name": "Distinct", "size": 933}, | |
{"name": "Expression", "size": 5130}, | |
{"name": "ExpressionIterator", "size": 3617}, | |
{"name": "Fn", "size": 3240}, | |
{"name": "If", "size": 2732}, | |
{"name": "IsA", "size": 2039}, | |
{"name": "Literal", "size": 1214}, | |
{"name": "Match", "size": 3748}, | |
{"name": "Maximum", "size": 843}, | |
{ | |
"name": "methods", | |
"children": [ | |
{"name": "add", "size": 593}, | |
{"name": "and", "size": 330}, | |
{"name": "average", "size": 287}, | |
{"name": "count", "size": 277}, | |
{"name": "distinct", "size": 292}, | |
{"name": "div", "size": 595}, | |
{"name": "eq", "size": 594}, | |
{"name": "fn", "size": 460}, | |
{"name": "gt", "size": 603}, | |
{"name": "gte", "size": 625}, | |
{"name": "iff", "size": 748}, | |
{"name": "isa", "size": 461}, | |
{"name": "lt", "size": 597}, | |
{"name": "lte", "size": 619}, | |
{"name": "max", "size": 283}, | |
{"name": "min", "size": 283}, | |
{"name": "mod", "size": 591}, | |
{"name": "mul", "size": 603}, | |
{"name": "neq", "size": 599}, | |
{"name": "not", "size": 386}, | |
{"name": "or", "size": 323}, | |
{"name": "orderby", "size": 307}, | |
{"name": "range", "size": 772}, | |
{"name": "select", "size": 296}, | |
{"name": "stddev", "size": 363}, | |
{"name": "sub", "size": 600}, | |
{"name": "sum", "size": 280}, | |
{"name": "update", "size": 307}, | |
{"name": "variance", "size": 335}, | |
{"name": "where", "size": 299}, | |
{"name": "xor", "size": 354}, | |
{"name": "_", "size": 264} | |
] | |
}, | |
{"name": "Minimum", "size": 843}, | |
{"name": "Not", "size": 1554}, | |
{"name": "Or", "size": 970}, | |
{"name": "Query", "size": 13896}, | |
{"name": "Range", "size": 1594}, | |
{"name": "StringUtil", "size": 4130}, | |
{"name": "Sum", "size": 791}, | |
{"name": "Variable", "size": 1124}, | |
{"name": "Variance", "size": 1876}, | |
{"name": "Xor", "size": 1101} | |
] | |
}, | |
{ | |
"name": "scale", | |
"children": [ | |
{"name": "IScaleMap", "size": 2105}, | |
{"name": "LinearScale", "size": 1316}, | |
{"name": "LogScale", "size": 3151}, | |
{"name": "OrdinalScale", "size": 3770}, | |
{"name": "QuantileScale", "size": 2435}, | |
{"name": "QuantitativeScale", "size": 4839}, | |
{"name": "RootScale", "size": 1756}, | |
{"name": "Scale", "size": 4268}, | |
{"name": "ScaleType", "size": 1821}, | |
{"name": "TimeScale", "size": 5833} | |
] | |
}, | |
{ | |
"name": "util", | |
"children": [ | |
{"name": "Arrays", "size": 8258}, | |
{"name": "Colors", "size": 10001}, | |
{"name": "Dates", "size": 8217}, | |
{"name": "Displays", "size": 12555}, | |
{"name": "Filter", "size": 2324}, | |
{"name": "Geometry", "size": 10993}, | |
{ | |
"name": "heap", | |
"children": [ | |
{"name": "FibonacciHeap", "size": 9354}, | |
{"name": "HeapNode", "size": 1233} | |
] | |
}, | |
{"name": "IEvaluable", "size": 335}, | |
{"name": "IPredicate", "size": 383}, | |
{"name": "IValueProxy", "size": 874}, | |
{ | |
"name": "math", | |
"children": [ | |
{"name": "DenseMatrix", "size": 3165}, | |
{"name": "IMatrix", "size": 2815}, | |
{"name": "SparseMatrix", "size": 3366} | |
] | |
}, | |
{"name": "Maths", "size": 17705}, | |
{"name": "Orientation", "size": 1486}, | |
{ | |
"name": "palette", | |
"children": [ | |
{"name": "ColorPalette", "size": 6367}, | |
{"name": "Palette", "size": 1229}, | |
{"name": "ShapePalette", "size": 2059}, | |
{"name": "SizePalette", "size": 2291} | |
] | |
}, | |
{"name": "Property", "size": 5559}, | |
{"name": "Shapes", "size": 19118}, | |
{"name": "Sort", "size": 6887}, | |
{"name": "Stats", "size": 6557}, | |
{"name": "Strings", "size": 22026} | |
] | |
}, | |
{ | |
"name": "vis", | |
"children": [ | |
{ | |
"name": "axis", | |
"children": [ | |
{"name": "Axes", "size": 1302}, | |
{"name": "Axis", "size": 24593}, | |
{"name": "AxisGridLine", "size": 652}, | |
{"name": "AxisLabel", "size": 636}, | |
{"name": "CartesianAxes", "size": 6703} | |
] | |
}, | |
{ | |
"name": "controls", | |
"children": [ | |
{"name": "AnchorControl", "size": 2138}, | |
{"name": "ClickControl", "size": 3824}, | |
{"name": "Control", "size": 1353}, | |
{"name": "ControlList", "size": 4665}, | |
{"name": "DragControl", "size": 2649}, | |
{"name": "ExpandControl", "size": 2832}, | |
{"name": "HoverControl", "size": 4896}, | |
{"name": "IControl", "size": 763}, | |
{"name": "PanZoomControl", "size": 5222}, | |
{"name": "SelectionControl", "size": 7862}, | |
{"name": "TooltipControl", "size": 8435} | |
] | |
}, | |
{ | |
"name": "data", | |
"children": [ | |
{"name": "Data", "size": 20544}, | |
{"name": "DataList", "size": 19788}, | |
{"name": "DataSprite", "size": 10349}, | |
{"name": "EdgeSprite", "size": 3301}, | |
{"name": "NodeSprite", "size": 19382}, | |
{ | |
"name": "render", | |
"children": [ | |
{"name": "ArrowType", "size": 698}, | |
{"name": "EdgeRenderer", "size": 5569}, | |
{"name": "IRenderer", "size": 353}, | |
{"name": "ShapeRenderer", "size": 2247} | |
] | |
}, | |
{"name": "ScaleBinding", "size": 11275}, | |
{"name": "Tree", "size": 7147}, | |
{"name": "TreeBuilder", "size": 9930} | |
] | |
}, | |
{ | |
"name": "events", | |
"children": [ | |
{"name": "DataEvent", "size": 2313}, | |
{"name": "SelectionEvent", "size": 1880}, | |
{"name": "TooltipEvent", "size": 1701}, | |
{"name": "VisualizationEvent", "size": 1117} | |
] | |
}, | |
{ | |
"name": "legend", | |
"children": [ | |
{"name": "Legend", "size": 20859}, | |
{"name": "LegendItem", "size": 4614}, | |
{"name": "LegendRange", "size": 10530} | |
] | |
}, | |
{ | |
"name": "operator", | |
"children": [ | |
{ | |
"name": "distortion", | |
"children": [ | |
{"name": "BifocalDistortion", "size": 4461}, | |
{"name": "Distortion", "size": 6314}, | |
{"name": "FisheyeDistortion", "size": 3444} | |
] | |
}, | |
{ | |
"name": "encoder", | |
"children": [ | |
{"name": "ColorEncoder", "size": 3179}, | |
{"name": "Encoder", "size": 4060}, | |
{"name": "PropertyEncoder", "size": 4138}, | |
{"name": "ShapeEncoder", "size": 1690}, | |
{"name": "SizeEncoder", "size": 1830} | |
] | |
}, | |
{ | |
"name": "filter", | |
"children": [ | |
{"name": "FisheyeTreeFilter", "size": 5219}, | |
{"name": "GraphDistanceFilter", "size": 3165}, | |
{"name": "VisibilityFilter", "size": 3509} | |
] | |
}, | |
{"name": "IOperator", "size": 1286}, | |
{ | |
"name": "label", | |
"children": [ | |
{"name": "Labeler", "size": 9956}, | |
{"name": "RadialLabeler", "size": 3899}, | |
{"name": "StackedAreaLabeler", "size": 3202} | |
] | |
}, | |
{ | |
"name": "layout", | |
"children": [ | |
{"name": "AxisLayout", "size": 6725}, | |
{"name": "BundledEdgeRouter", "size": 3727}, | |
{"name": "CircleLayout", "size": 9317}, | |
{"name": "CirclePackingLayout", "size": 12003}, | |
{"name": "DendrogramLayout", "size": 4853}, | |
{"name": "ForceDirectedLayout", "size": 8411}, | |
{"name": "IcicleTreeLayout", "size": 4864}, | |
{"name": "IndentedTreeLayout", "size": 3174}, | |
{"name": "Layout", "size": 7881}, | |
{"name": "NodeLinkTreeLayout", "size": 12870}, | |
{"name": "PieLayout", "size": 2728}, | |
{"name": "RadialTreeLayout", "size": 12348}, | |
{"name": "RandomLayout", "size": 870}, | |
{"name": "StackedAreaLayout", "size": 9121}, | |
{"name": "TreeMapLayout", "size": 9191} | |
] | |
}, | |
{"name": "Operator", "size": 2490}, | |
{"name": "OperatorList", "size": 5248}, | |
{"name": "OperatorSequence", "size": 4190}, | |
{"name": "OperatorSwitch", "size": 2581}, | |
{"name": "SortOperator", "size": 2023} | |
] | |
}, | |
{"name": "Visualization", "size": 16540} | |
] | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
svg = d3.select 'svg' | |
tree_layout = d3.layout.tree() | |
toggle = (n, recursive) -> | |
if n.children? | |
n._children = n.children | |
delete n.children | |
if recursive | |
n._children.forEach (c) -> toggle(c, true) | |
else if n._children? | |
n.children = n._children | |
delete n._children | |
if recursive | |
n.children.forEach (c) -> toggle(c, true) | |
d3.json 'dipartimenti.json', (tree) -> | |
# collapse all | |
tree.children.forEach (c) -> toggle(c, true) | |
render(tree) | |
DX = 25 | |
DY = 30 | |
render = (tree) -> | |
# preprocessing | |
nodes_data = tree_layout.nodes tree | |
# layout | |
nodes_data.forEach (d,i) -> | |
d.x = d.depth*DX+16 | |
d.y = i*DY+20 | |
SPEED = 400 | |
# make room for the whole tree | |
svg | |
.transition().delay(SPEED).duration(SPEED) | |
.attr | |
height: nodes_data.length*DY+20 | |
# nodes | |
nodes = svg.selectAll '.node' | |
.data nodes_data, (d) -> "#{d.depth}_#{d.name}" | |
nodes.exit() | |
.transition().duration(SPEED) | |
.attr | |
opacity: 0 | |
.remove() | |
nodes | |
.transition().delay(SPEED).duration(SPEED) | |
.attr | |
transform: (d) -> "translate(#{d.x}, #{d.y})" | |
nodes.enter().append 'text' | |
.text (d) -> d.name | |
.attr | |
class: 'node' | |
dy: '0.35em' | |
transform: (d) -> "translate(#{d.x}, #{d.y})" | |
opacity: 0 | |
.on 'click', (d) -> | |
toggle(d, false) | |
render(tree) | |
.classed 'internal', (d) -> d.children? or d._children? | |
.transition().delay(SPEED*2).duration(SPEED) | |
.attr | |
opacity: 1 | |
nodes | |
.classed 'collapsed', (d) -> d._children? | |
# links | |
links = svg.selectAll '.link' | |
.data nodes_data.filter((d) -> d.parent?), (d) -> "#{d.depth}_#{d.name}" | |
links.exit() | |
.transition().duration(SPEED) | |
.attr | |
opacity: 0 | |
.remove() | |
links | |
.transition().delay(SPEED).duration(SPEED) | |
.attr | |
d: (d) -> "M#{d.x-4} #{d.y} L#{d.parent.x+8} #{d.y} L#{d.parent.x+8} #{d.parent.y+10}" | |
links.enter().append 'path' | |
.attr | |
class: 'link' | |
opacity: 0 | |
.transition().delay(SPEED*2).duration(SPEED) | |
.attr | |
d: (d) -> "M#{d.x-4} #{d.y} L#{d.parent.x+8} #{d.y} L#{d.parent.x+8} #{d.parent.y+10}" | |
opacity: 1 | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
html, body { | |
padding: 0; | |
margin: 0; | |
width: 100%; | |
height: 100%; | |
} | |
svg { | |
width: 100%; | |
} | |
.node { | |
font-size: 14px; | |
font-family: sans-serif; | |
user-select: none; | |
-webkit-user-select: none; | |
cursor: default; | |
} | |
.link { | |
fill: none; | |
stroke: #DDD; | |
shape-rendering: crispEdges; | |
} | |
.internal.node { | |
font-weight: bold; | |
cursor: pointer; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<title>Indented tree</title> | |
<link type="text/css" href="index.css" rel="stylesheet"/> | |
<script src="http://d3js.org/d3.v3.min.js"></script> | |
</head> | |
<body> | |
<svg></svg> | |
<script src="index.js"></script> | |
</body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Generated by CoffeeScript 1.10.0 | |
(function() { | |
var DX, DY, render, svg, toggle, tree_layout; | |
svg = d3.select('svg'); | |
tree_layout = d3.layout.tree(); | |
toggle = function(n, recursive) { | |
if (n.children != null) { | |
n._children = n.children; | |
delete n.children; | |
if (recursive) { | |
return n._children.forEach(function(c) { | |
return toggle(c, true); | |
}); | |
} | |
} else if (n._children != null) { | |
n.children = n._children; | |
delete n._children; | |
if (recursive) { | |
return n.children.forEach(function(c) { | |
return toggle(c, true); | |
}); | |
} | |
} | |
}; | |
d3.json('dipartimenti.json', function(tree) { | |
tree.children.forEach(function(c) { | |
return toggle(c, true); | |
}); | |
return render(tree); | |
}); | |
DX = 25; | |
DY = 30; | |
render = function(tree) { | |
var SPEED, links, nodes, nodes_data; | |
nodes_data = tree_layout.nodes(tree); | |
nodes_data.forEach(function(d, i) { | |
d.x = d.depth * DX + 16; | |
return d.y = i * DY + 20; | |
}); | |
SPEED = 400; | |
svg.transition().delay(SPEED).duration(SPEED).attr({ | |
height: nodes_data.length * DY + 20 | |
}); | |
nodes = svg.selectAll('.node').data(nodes_data, function(d) { | |
return d.depth + "_" + d.name; | |
}); | |
nodes.exit().transition().duration(SPEED).attr({ | |
opacity: 0 | |
}).remove(); | |
nodes.transition().delay(SPEED).duration(SPEED).attr({ | |
transform: function(d) { | |
return "translate(" + d.x + ", " + d.y + ")"; | |
} | |
}); | |
nodes.enter().append('text').text(function(d) { | |
return d.name; | |
}).attr({ | |
"class": 'node', | |
dy: '0.35em', | |
transform: function(d) { | |
return "translate(" + d.x + ", " + d.y + ")"; | |
}, | |
opacity: 0 | |
}).on('click', function(d) { | |
toggle(d, false); | |
return render(tree); | |
}).classed('internal', function(d) { | |
return (d.children != null) || (d._children != null); | |
}).transition().delay(SPEED * 2).duration(SPEED).attr({ | |
opacity: 1 | |
}); | |
nodes.classed('collapsed', function(d) { | |
return d._children != null; | |
}); | |
links = svg.selectAll('.link').data(nodes_data.filter(function(d) { | |
return d.parent != null; | |
}), function(d) { | |
return d.depth + "_" + d.name; | |
}); | |
links.exit().transition().duration(SPEED).attr({ | |
opacity: 0 | |
}).remove(); | |
links.transition().delay(SPEED).duration(SPEED).attr({ | |
d: function(d) { | |
return "M" + (d.x - 4) + " " + d.y + " L" + (d.parent.x + 8) + " " + d.y + " L" + (d.parent.x + 8) + " " + (d.parent.y + 10); | |
} | |
}); | |
return links.enter().append('path').attr({ | |
"class": 'link', | |
opacity: 0 | |
}).transition().delay(SPEED * 2).duration(SPEED).attr({ | |
d: function(d) { | |
return "M" + (d.x - 4) + " " + d.y + " L" + (d.parent.x + 8) + " " + d.y + " L" + (d.parent.x + 8) + " " + (d.parent.y + 10); | |
}, | |
opacity: 1 | |
}); | |
}; | |
}).call(this); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment