Make sure you have the latest version of Python installed.
git clone <repo-url>
pip install -r requirements.txt
python main.py
Go to http://127.0.0.1:5000
License: MIT License
Add possibility to re-scale data to desired unit. For example, if a dataset has unit kg and another tonnes, it should be possible to compare them with the same unit.
This can possibly be accomplished by adding a scaling feature for each dataset, either multiplying by any number, or re-scale from a hard-wired list of available units (for example mm, cm, dm, m, feet, km, miles, ...)
When, for example, just adding one timeline, all previous ones need not be re-rendered. Only re-render new stuff.
It is not obvious that the legends are interactive: clicking them toggles visibility of the corresponding line.
Consider making it more obvious for the user that legends can be clicked to toggle visibility.
Add search strings to each timeline and make them searchable.
GENERELLA INFRASTRUKTURER: Sidor som samlar ihop data från individuella repositorier och gör dom sökbara.
Riksantikvarieämbetets tjänster Fornsök (fornlämningar och monument med en sökbar karta), K-Samsök (kulturarvsdata från svenska museer) och Kringla (information om föremål, byggnader osv. från svenska kulturarvsinstitutioner). RAÄs Kringla kommer bli integrerad i SweDigArch.
https://app.raa.se/open/fornsok/
https://www.raa.se/hitta-information/k-samsok/
https://www.raa.se/hitta-information/kringla/
SweDigArch: en tjänst under uppbyggnad som kommer att samla ihop en stor del svenska resurser inom arkeologi, bl.a. RAÄs Kringla.
http://swedigarch.se/
SEAD: en tjänst under uppbyggnad som kommer att samla ihop en flertal resurser inom området miljöarkeologi.
https://www.sead.se/
Ariadne: en stor internationell (fast europacentrerad) infrastruktur för arkeologiska forskningsdata.
https://portal.ariadne-infrastructure.eu/
iDAI: en stor dataportal med massa bilder, information om objekt, osv. Sidan drivs av tyska arkeologiska institutet och är (mest) tyskspråkig.
https://idai.world/
INTERNATIONELLA REPOSITORIER: Repositorier med internationellt fokus.
NATIONELLA OCH LOKALA REPOSITORIER: Repositorier som framförallt har data från ett land eller en universitet.
TIDSKRIFTSANKNUTNA REPOSITORIER: Repositorier för forskningsdata relaterad till en specifik tidskriftspublikation.
PROJEKTSPECIFIKA DATAKÄLLOR
Statistical and other analyses (Growth rates, combinations of series, segmented regression, inflection points, synchrony, autocorrelation (including Red, white, blue noise), process tracing tests, ….
See pdf-document ”Plan Human timelines”.
The x- and y-values are internally stored as comma-separated strings. When viewing or editing them, this should be done in a table where one can add a row to add a point, etc.
In the "timeline builder", add possibility to import csv-files when adding a new dataset.
Associate time series with geographical location.
Add possibility to search for this (somehow).
Export as PDF does not generate true vector graphics. Export as SVG does.
In "timeline builder", make it possible to create a new timeline from existing ones using arithemtic operations, so that one can visualize one timeline minus another, for example.
Add possibility to search for a time (period) and get as search results all timelines that have at least one (or all) datapoints in that period.
When adjusting the min and max limits on the time axis, the axis limits on the value axis should automatically adjust to fit all data within the zoomed time range. This doesn't work for stacked charts where the axis limits (on all charts except the bottom one) are set programmatically.
How-to-reproduce: Make a stacked charts plot with two quantitative data and change the time range with the scrollbar. Only the bottom chart's y-axis limits change, not the top.
It should be possible to display optional custom labels on the time data points. A user may want to display "-1800" or "1800BC". -
It should be possible to display optional custom labels between time data points. For example, a user may want to have "Bronze age" displayed between two time points.
If implemented, these labels should not be part of the timeline data stored in the database, but rather done "display settings" in the browser, just like colors of lines etc.
Validate all entered data.
Add optional text string for each data point for quantitative data. This text string should be rendered near the (x,y)-coordinate. See picture for inspiration (taken from https://humanisten.se/2021/04/19/dagens-16-aringar-har-vad-som-kravs-for-att-fa-rosta/?fbclid=IwAR33qG1eA02asOpGKUyu61F7S8r7BqV8Csn2ANtqsOMi01PeEsK40TKVv3Y).
We should make it possible for the user to plot log-scale on the y-axis, but in the case of log-scale on the time-axis it is important what we mean by "time zero" (since nonpositive quantities cannot be plotted with log-scale). One way is to use Years Before Present, so that today (current year) is zero.
Only load js-code on pages that use js, and restructure js-code into several files if needed.
Dragging time-axis limits does not update other stacked charts if time axis unit is YBC
Add ui for chart settings, for example background color, x-limits, y-limits, line color, thickness, marker type, marker color, marker size, etc.
This should perhaps be one panel per chart, or maybe one panel that shows the settings for all plotted lines, regardless of chart they are present in.
Add possibility to view a predefined dataset so that one can see Description and the values, etc. in the same way as for users datasets.
For timelines in a tree structure, consider the possibility to have description in a parent node.
When the data values for qualitative data are long, they can easily overwrite each other in the plot as in this screenshot.
One way to solve this is to have one shorter version (possibly automatically truncated) of each string.
Another possibility is to display the different strings at different y-values (say evero other at y=1 and every other at y=2).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.