|
|
Line 12: |
Line 12: |
| ==code== | | ==code== |
| === TileMap class=== | | === TileMap class=== |
| <pre>
| |
| package tilemap;
| |
| //@author: simon diesenreiter (sd), stefan weixelbaumer (sw), wolfgang felkel (wf), alexander maier (am)
| |
| //@year: 2006
| |
| //@class TileMap: main class
| |
|
| |
|
| |
| //PREFUSE
| |
| import prefuse.data.parser.DateTimeParser;
| |
| import prefuse.data.parser.DoubleParser;
| |
| import prefuse.data.parser.DataParser;
| |
| import prefuse.data.parser.ParserFactory;
| |
| import prefuse.data.Table;
| |
| import prefuse.data.io.DataIOException;
| |
| import prefuse.data.io.DelimitedTextTableReader;
| |
| import prefuse.data.expression.Predicate;
| |
| import prefuse.data.expression.parser.ExpressionParser;
| |
| import prefuse.Visualization;
| |
| import prefuse.render.RendererFactory;
| |
| import prefuse.render.AxisRenderer;
| |
| import prefuse.render.Renderer;
| |
| import prefuse.render.ShapeRenderer;
| |
| //mouseover
| |
| import prefuse.controls.ToolTipControl;
| |
|
| |
|
| |
| //UTIL
| |
| import java.util.Vector;
| |
| import java.util.Calendar;
| |
| import java.util.Date;
| |
|
| |
|
| |
| //TEXT
| |
| import java.text.SimpleDateFormat;
| |
|
| |
| //ACTIONS
| |
| import prefuse.action.layout.AxisLayout;
| |
| import prefuse.Constants;
| |
| import prefuse.visual.VisualItem;
| |
| import prefuse.action.ActionList;
| |
| import prefuse.action.RepaintAction;
| |
| import prefuse.action.assignment.DataColorAction;
| |
| import java.awt.Color;
| |
|
| |
| import java.awt.event.ActionEvent;
| |
| import java.awt.event.ActionListener;
| |
| import java.awt.geom.Rectangle2D;
| |
|
| |
| //DISPLAY
| |
| import prefuse.Display;
| |
| import prefuse.controls.ZoomControl;
| |
| import prefuse.controls.PanControl;
| |
| import java.awt.GridLayout;
| |
| import java.awt.Rectangle;
| |
| import java.awt.GraphicsEnvironment;
| |
| import java.awt.BorderLayout;
| |
| import javax.swing.event.ChangeListener;
| |
| import javax.swing.event.ChangeEvent;
| |
| import javax.swing.BorderFactory;
| |
| import javax.swing.BoxLayout;
| |
| import javax.swing.JComboBox;
| |
| import javax.swing.JLabel;
| |
| import javax.swing.JToolBar;
| |
|
| |
| //APPLICATION LAUNCHER
| |
| import javax.swing.*;
| |
|
| |
|
| |
|
| |
|
| |
| public class TileMap {
| |
|
| |
| //display-constants
| |
| private static final String group = "data";
| |
| private static final String day = "Day";
| |
| private static final String week = "Week";
| |
| private static final String year = "Year";
| |
| private static final String dayLabel = "DayLabel";
| |
| private static final String monthLabel = "MonthLabel";
| |
| private static final String yearLabel = "YearLabel";
| |
|
| |
| //action-constants
| |
| private static final String xAction = "xAction";
| |
| private static final String yAction = "yAction";
| |
| private static final String colorAction = "colorAction";
| |
| private static final String drawAction = "drawAction";
| |
|
| |
| //size(px) of each tile
| |
| private static int tilesize = 10;
| |
| private static Visualization vis;
| |
| private static ActionList draw;
| |
|
| |
| //data-source
| |
| private static final String filePath = "http://stud3.tuwien.ac.at/~e9926534/abfluss.csv";
| |
|
| |
|
| |
| public static void main(String[] args){
| |
|
| |
| //-- 1. read the data from a file-----------------------------------------
| |
| //set up data parser(s) - one for Date & Time - one for double value ()
| |
| DateTimeParser dateTimeParser = new DateTimeParser();
| |
| DoubleParser doubleParser = new DoubleParser();
| |
|
| |
| //instantiate DataParser Object & ParserFactory-Object [prefuse]
| |
| DataParser[] dP2 = new DataParser[]{dateTimeParser, doubleParser};
| |
| ParserFactory pF2 = new ParserFactory(dP2);
| |
|
| |
| //set data-delimiter
| |
| DelimitedTextTableReader reader = new DelimitedTextTableReader("[;]", pF2);
| |
|
| |
| Table table = new Table();
| |
|
| |
| try{
| |
| table = reader.readTable(filePath);
| |
| System.out.println("InfoVisMain.main(): reading file: " + filePath);
| |
| }
| |
| catch(DataIOException ex){
| |
| System.out.println("InfoVisMain.main(): error reading file: " + ex.getMessage());
| |
| }
| |
|
| |
| //add additional columns to the table
| |
| table.addColumn(day, int.class);
| |
| table.addColumn(week, int.class);
| |
| table.addColumn(year, int.class);
| |
| table.addColumn(dayLabel, String.class);
| |
| table.addColumn(monthLabel, String.class);
| |
| table.addColumn(yearLabel, String.class);
| |
|
| |
| SimpleDateFormat sdfDay = new SimpleDateFormat("EEE");
| |
| SimpleDateFormat sdfMonth = new SimpleDateFormat("MMM");
| |
| SimpleDateFormat sdfYear = new SimpleDateFormat("yyyy");
| |
|
| |
| //@param yearVector: a vector that stores the single years for later creating a display for each single year
| |
| Vector<Integer> yearVector = new Vector<Integer>();
| |
| int yearTracker = Integer.MIN_VALUE;
| |
|
| |
| //walk through data-table
| |
| for (int i=0; i<table.getRowCount(); i++){
| |
| if(table.canGetDate(table.getColumnName(0))){
| |
| Date tmpDate = table.getDate(i, 0);
| |
| Calendar myCalendar = Calendar.getInstance();
| |
| myCalendar.setTime(tmpDate);
| |
|
| |
| table.setInt(i, day, myCalendar.get(Calendar.DAY_OF_WEEK));
| |
|
| |
| //introduce an extra week "0" for the case of the beginning of a year where days belong
| |
| //to the old-year's week
| |
| int tmpWeek = myCalendar.get(Calendar.WEEK_OF_YEAR);
| |
| int tmpMonth = myCalendar.get(Calendar.MONTH);
| |
| if(tmpMonth==0 & tmpWeek==53 ||tmpMonth==0 & tmpWeek==52){
| |
| table.setInt(i, week, 0); //if (month==JAN AND week==53 -> week=0)
| |
| }
| |
| else{
| |
| table.setInt(i, week, tmpWeek);
| |
| }
| |
|
| |
| //get the year and also write the years to the yearVector
| |
| int tmpYear = myCalendar.get(Calendar.YEAR);
| |
| if(yearTracker != tmpYear){
| |
| yearTracker = tmpYear;
| |
| yearVector.add(new Integer(yearTracker));
| |
| }
| |
| table.setInt(i, year, tmpYear);
| |
|
| |
| //get the days, months... as Strings for the Labels
| |
| table.setString(i, dayLabel, sdfDay.format(tmpDate));
| |
| table.setString(i, monthLabel, sdfMonth.format(tmpDate));
| |
| table.setString(i, yearLabel, sdfYear.format(tmpDate));
| |
| }
| |
| }
| |
|
| |
| //output table data on system console [or not]
| |
| Boolean doTableOutput = true;
| |
| if(doTableOutput){
| |
| //OUTPUT: table properties
| |
| System.out.println("Table_properties: " + table.toString());
| |
| //OUTPUT: table names
| |
| for (int j=0; j<table.getColumnCount(); j++){
| |
| System.out.print(table.getColumnName(j).toString() + "\t");
| |
| if(j==0)System.out.print("\t");//this is only for nicer output because that string is so long ;)
| |
| }
| |
| //OUTPUT: table values
| |
| System.out.print("\n");
| |
| for(int i=0; i<table.getRowCount(); i++){
| |
| for (int j=0; j<table.getColumnCount(); j++){
| |
| System.out.print(table.get(i, j).toString() + "\t");
| |
| if(j==5 || j==6)System.out.print("\t"); //this is only for nicer output too
| |
| }
| |
| System.out.print("\n");
| |
| }
| |
| }
| |
|
| |
|
| |
| //-- 2. create a Visualisation instance ------------------------------------
| |
| vis = new Visualization();
| |
| vis.add(group, table);
| |
|
| |
| //-- 3. the renderers and renderer factory ---------------------------
| |
| vis.setRendererFactory(new RendererFactory() {
| |
| //renderer for drawing simple shapes - in this case
| |
| ShapeRenderer shapeR = new ShapeRenderer(tilesize);
| |
|
| |
| Renderer yaxisR = new AxisRenderer(Constants.CENTER, Constants.CENTER);
| |
|
| |
| Renderer xaxisR = new AxisRenderer(Constants.CENTER, Constants.CENTER);
| |
|
| |
| public Renderer getRenderer(VisualItem item) {
| |
| return item.isInGroup(TileMap.dayLabel) ? yaxisR :
| |
| item.isInGroup(TileMap.monthLabel) ? xaxisR : shapeR;
| |
| }
| |
| });
| |
|
| |
|
| |
| // -- 4. the processing actions --------------------------------------
| |
|
| |
| //the boundingBoxes for the labels and display
| |
| int topLeftX = 0;
| |
| int topLeftY = 0;
| |
| int labelHeight = 30;
| |
| int labelWidth = 0;
| |
| Rectangle2D yearLabelB = new Rectangle2D.Double(topLeftX, topLeftY, labelWidth, labelHeight);
| |
| Rectangle2D dayLabelB = new Rectangle2D.Double(topLeftX, topLeftY+labelHeight, labelWidth, tilesize*7);
| |
| Rectangle2D monthLabelB = new Rectangle2D.Double(topLeftX+labelWidth, topLeftY, tilesize*53, labelHeight);
| |
| Rectangle2D tileMapB = new Rectangle2D.Double(topLeftX+labelWidth, topLeftY+labelHeight, tilesize*53, tilesize*7);
| |
|
| |
| //set up which values over which axis to be displayed
| |
| AxisLayout x_axis = new AxisLayout(group, week, Constants.X_AXIS);
| |
| x_axis.setLayoutBounds(tileMapB);
| |
| vis.putAction(xAction, x_axis);
| |
|
| |
| AxisLayout y_axis = new AxisLayout(group, day, Constants.Y_AXIS);
| |
| y_axis.setLayoutBounds(tileMapB);
| |
| vis.putAction(yAction, y_axis);
| |
|
| |
|
| |
| DataColorAction dataColor = new DataColorAction(group, "Abfluss", Constants.NUMERICAL,
| |
| VisualItem.FILLCOLOR);
| |
| dataColor.setBinCount(4);
| |
| vis.putAction(colorAction, dataColor);
| |
|
| |
| //crate an actionList and add all actions to it. finally add the actionList to the Visualization
| |
| draw = new ActionList();
| |
| draw.add(x_axis);
| |
| draw.add(y_axis);
| |
| draw.add(dataColor);
| |
| // draw.add(dayLabels);
| |
| // draw.add(monthLabels);
| |
| draw.add(new RepaintAction());
| |
| vis.putAction(drawAction, draw);
| |
|
| |
| // -- 5. the display and interactive controls -------------------------
| |
| // +
| |
| // -- 6. launch the visualization -------------------------------------
| |
|
| |
| // create a new window to hold the visualization
| |
| JFrame frame = new JFrame("T I L E M A P");
| |
| // ensure application exits when window is closed
| |
| frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
| |
|
| |
| JPanel pane = new JPanel(new GridLayout(yearVector.size(), 1));
| |
|
| |
| int borderSize = 0;
| |
| int displayHeight = (int)tileMapB.getHeight()+(int)monthLabelB.getHeight();
| |
| int displayWidth = (int)tileMapB.getWidth()+(int)dayLabelB.getWidth();
| |
|
| |
| ZoomControl zoomControl = new ZoomControl();
| |
|
| |
| for(int i=0; i<yearVector.size(); i++){
| |
| Predicate thatYear = (Predicate)ExpressionParser.parse(year + "==" + yearVector.get(i).toString());
| |
| Display d = new Display(vis);
| |
| d.setPredicate(thatYear);
| |
| d.setBorder(BorderFactory.createEmptyBorder(borderSize, borderSize, borderSize, borderSize));
| |
| d.setSize(displayWidth+borderSize, displayHeight+borderSize);
| |
|
| |
| d.panAbs(0, -7); //this is for fine-tuning of the layout
| |
| ToolTipControl ttc = new ToolTipControl(new String[] {"Datum", "Abfluss"});
| |
| d.addControlListener(ttc);
| |
| d.addControlListener(zoomControl);
| |
| d.addControlListener(new PanControl());
| |
|
| |
| JPanel innerPane = new JPanel(new BorderLayout());
| |
| JLabel label = new JLabel(yearVector.get(i).toString());
| |
| label.setHorizontalAlignment(SwingConstants.RIGHT);
| |
| label.setVerticalAlignment(SwingConstants.TOP);
| |
| label.setBackground(Color.RED);
| |
| label.setSize(20, 20);
| |
| innerPane.add(label, BorderLayout.WEST);
| |
| innerPane.add(d, BorderLayout.CENTER);
| |
| innerPane.setBackground(Color.WHITE);
| |
|
| |
| pane.add(innerPane);
| |
| // pane.add(d);
| |
| }
| |
|
| |
| JScrollPane scroller = new JScrollPane(pane);
| |
| JToolBar toolBar = makeToolbar();
| |
| frame.getContentPane().add(toolBar, BorderLayout.NORTH);
| |
| frame.getContentPane().add(scroller, BorderLayout.CENTER);
| |
|
| |
| // get local graphics environment
| |
| GraphicsEnvironment graphicsEnvironment=GraphicsEnvironment.getLocalGraphicsEnvironment();
| |
| // get maximum window bounds
| |
| Rectangle maximumWindowBounds=graphicsEnvironment.getMaximumWindowBounds();
| |
|
| |
| frame.setSize(maximumWindowBounds.width/2, maximumWindowBounds.height);
| |
|
| |
| frame.setVisible(true); // show the window
| |
| vis.run(drawAction);
| |
| }
| |
|
| |
|
| |
|
| |
| private static JToolBar makeToolbar()
| |
| {
| |
| JToolBar toolbar = new JToolBar();
| |
| toolbar.setLayout(new BoxLayout(toolbar, BoxLayout.X_AXIS));
| |
|
| |
| //add a combobox for switching scales
| |
| final String[] scaleNames = {"LINEAR", "SQRT", "LOG"};
| |
| final JComboBox scaleChooser = new JComboBox(scaleNames);
| |
| // scb.setSelectedItem(sfield);
| |
| scaleChooser.addActionListener(new ActionListener() {
| |
| public void actionPerformed(ActionEvent e) {
| |
| DataColorAction dataColorA = (DataColorAction)vis.getAction(colorAction);
| |
| String chosen = scaleChooser.getSelectedItem().toString();
| |
| if(chosen.equals("LOG")){
| |
| dataColorA.setScale(Constants.LOG_SCALE);
| |
| }
| |
| else if(chosen.equals("SQRT")){
| |
| dataColorA.setScale(Constants.SQRT_SCALE);
| |
| }
| |
| else{
| |
| dataColorA.setScale(Constants.LINEAR_SCALE);
| |
| }
| |
| vis.run(drawAction);
| |
| }
| |
| });
| |
| toolbar.add(new JLabel("SCALE: "));
| |
| toolbar.add(scaleChooser);
| |
|
| |
| //add a slider for setting the binsize
| |
| int slideStart = ((DataColorAction)vis.getAction(colorAction)).getBinCount();
| |
| final JSlider slider = new JSlider(2, 20, slideStart);
| |
| slider.setMajorTickSpacing(4);
| |
| slider.setMinorTickSpacing(1);
| |
| slider.setPaintTicks(true);
| |
| slider.setPaintLabels(true);
| |
| slider.setSnapToTicks(true);
| |
| slider.addChangeListener(new ChangeListener(){
| |
| public void stateChanged(ChangeEvent ce){
| |
| if(!slider.getValueIsAdjusting()){
| |
| int val = slider.getValue();
| |
| DataColorAction dataColorA = (DataColorAction)vis.getAction(colorAction);
| |
| dataColorA.setBinCount(val);
| |
| vis.run(drawAction);
| |
| }
| |
| }
| |
| });
| |
| toolbar.add(new JLabel("BINSIZE: "));
| |
| toolbar.add(slider);
| |
|
| |
| toolbar.setFloatable(false);
| |
| return toolbar;
| |
| }
| |
|
| |
| }
| |
|
| |
| ==example data==
| |
|
| |
| ===example data (InfoVisMain.java)===
| |
| Copy that data and store it as ''.csv''. For using it you have to change the path to the file in the sourcecode.
| |
| <pre>
| |
| Datum;Abfluss
| |
| 01.01.1977 11:00;5.721
| |
| 02.01.1977 10:30;5.697
| |
| 03.01.1977 10:00;5.767
| |
| 04.01.1977 17:00;5.861
| |
| 05.01.1977 16:30;5.697
| |
| 06.01.1977 11:30;5.791
| |
| 07.01.1977 18:30;5.697
| |
| 08.01.1977 12:30;5.908
| |
| 09.01.1977 12:00;5.861
| |
| 10.01.1977 12:00;5.861
| |
| 11.01.1977 18:00;5.837
| |
| 12.01.1977 11:30;6.026
| |
| 13.01.1977 19:30;5.955
| |
| 14.01.1977 11:00;5.978
| |
| 15.01.1977 20:30;5.837
| |
| 16.01.1977 12:00;6.895
| |
| 17.01.1977 11:30;6.073
| |
| 18.01.1977 12:30;5.767
| |
| 19.01.1977 19:30;6.263
| |
| 20.01.1977 19:00;5.884
| |
| 21.01.1977 09:00;6.359
| |
| 22.01.1977 11:30;6.699
| |
| 23.01.1977 14:30;5.837
| |
| 24.01.1977 11:30;5.628
| |
| 25.01.1977 19:30;5.791
| |
| 26.01.1977 11:30;5.744
| |
| 27.01.1977 09:30;5.651
| |
| 28.01.1977 19:30;5.651
| |
| 29.01.1977 20:00;6.192
| |
| 30.01.1977 11:30;5.536
| |
| 31.01.1977 20:30;5.767
| |
| 01.02.1977 19:30;5.651
| |
| 02.02.1977 11:30;6.073
| |
| 03.02.1977 10:30;6.002
| |
| 04.02.1977 09:30;6.994
| |
| 05.02.1977 20:00;6.723
| |
| 06.02.1977 11:30;7.168
| |
| 07.02.1977 20:30;6.528
| |
| 08.02.1977 18:00;6.192
| |
| 09.02.1977 11:30;7.776
| |
| 10.02.1977 19:30;7.118
| |
| 11.02.1977 19:30;7.827
| |
| 12.02.1977 09:30;7.47
| |
| 13.02.1977 09:30;7.168
| |
| 14.02.1977 20:00;6.383
| |
| 15.02.1977 20:00;6.12
| |
| 16.02.1977 20:00;6.263
| |
| 17.02.1977 20:00;6.168
| |
| 18.02.1977 20:00;5.861
| |
| 19.02.1977 19:30;5.978
| |
| 20.02.1977 19:30;6.383
| |
| 21.02.1977 19:30;9.524
| |
| 22.02.1977 12:30;7.956
| |
| 23.02.1977 20:00;7.648
| |
| 24.02.1977 23:59;8.257
| |
| 25.02.1977 15:30;10.271
| |
| 26.02.1977 00:00;9.21
| |
| 27.02.1977 05:00;8.241
| |
| 28.02.1977 00:00;6.26
| |
| 01.03.1977 18:00;5.931
| |
| 02.03.1977 19:30;5.791
| |
| 03.03.1977 23:59;8.14
| |
| 04.03.1977 23:59;17.646
| |
| 05.03.1977 00:00;17.646
| |
| 06.03.1977 00:00;11.894
| |
| 07.03.1977 00:00;10.665
| |
| 08.03.1977 21:00;10.327
| |
| 09.03.1977 23:00;10.665
| |
| 10.03.1977 23:59;10.892
| |
| 11.03.1977 18:30;11.121
| |
| 12.03.1977 13:00;10.58
| |
| 13.03.1977 00:00;10.051
| |
| 14.03.1977 00:00;9.343
| |
| 15.03.1977 00:00;8.834
| |
| 16.03.1977 23:59;8.537
| |
| 17.03.1977 23:59;10.103
| |
| 18.03.1977 21:30;12.287
| |
| 19.03.1977 00:00;12.261
| |
| 20.03.1977 00:00;10.515
| |
| 21.03.1977 08:00;10.075
| |
| 22.03.1977 20:30;10.215
| |
| 23.03.1977 23:30;11.875
| |
| 24.03.1977 23:59;13.962
| |
| 25.03.1977 22:00;14.509
| |
| 26.03.1977 22:30;15.615
| |
| 27.03.1977 00:00;15.415
| |
| 28.03.1977 07:00;18.082
| |
| 29.03.1977 00:00;16.046
| |
| 30.03.1977 00:00;13.017
| |
| 31.03.1977 00:00;10.835
| |
| 01.04.1977 19:00;10.355
| |
| 02.04.1977 23:59;12.18
| |
| 03.04.1977 23:59;13.403
| |
| 04.04.1977 00:30;13.46
| |
| 05.04.1977 08:30;12.495
| |
| 06.04.1977 18:00;12.199
| |
| 07.04.1977 19:00;11.525
| |
| 08.04.1977 08:30;11.904
| |
| 09.04.1977 18:00;11.322
| |
| 10.04.1977 17:30;10.355
| |
| 11.04.1977 17:30;10.131
| |
| 12.04.1977 12:00;9.551
| |
| 13.04.1977 19:30;10.636
| |
| 14.04.1977 19:30;11.265
| |
| 15.04.1977 08:30;10.187
| |
| 16.04.1977 19:30;8.795
| |
| 17.04.1977 18:30;10.75
| |
| 18.04.1977 20:30;12.199
| |
| 19.04.1977 20:00;12.764
| |
| 20.04.1977 17:30;11.729
| |
| 21.04.1977 19:00;12.555
| |
| 22.04.1977 19:00;13.095
| |
| 23.04.1977 23:59;16.529
| |
| 24.04.1977 23:59;20.195
| |
| 25.04.1977 00:30;20.203
| |
| 26.04.1977 23:30;23.096
| |
| 27.04.1977 23:00;28.672
| |
| 28.04.1977 23:59;36.956
| |
| 29.04.1977 23:59;56.898
| |
| 30.04.1977 18:00;81.98
| |
| 01.05.1977 19:30;77.065
| |
| 02.05.1977 00:00;70.391
| |
| 03.05.1977 00:00;51.984
| |
| 04.05.1977 18:00;93.83
| |
| 05.05.1977 00:00;86.578
| |
| 06.05.1977 00:00;57.75
| |
| 07.05.1977 00:00;37.338
| |
| 08.05.1977 00:00;29.828
| |
| 09.05.1977 00:00;28.286
| |
| 10.05.1977 00:00;22.335
| |
| 11.05.1977 23:59;23.215
| |
| 12.05.1977 23:00;42.651
| |
| 13.05.1977 00:00;41.681
| |
| 14.05.1977 00:00;37.893
| |
| 15.05.1977 00:00;30.726
| |
| 16.05.1977 23:00;29.321
| |
| 17.05.1977 21:30;32.223
| |
| 18.05.1977 23:59;33.122
| |
| 19.05.1977 23:59;99.935
| |
| 20.05.1977 15:30;137.65
| |
| 21.05.1977 00:00;110.665
| |
| 22.05.1977 00:00;75.919
| |
| 23.05.1977 22:00;59.25
| |
| 24.05.1977 22:30;63.573
| |
| 25.05.1977 21:00;76.096
| |
| 26.05.1977 00:00;73.753
| |
| 27.05.1977 00:00;67.312
| |
| 28.05.1977 00:00;53.171
| |
| 29.05.1977 23:59;52.495
| |
| 30.05.1977 00:30;52.754
| |
| 31.05.1977 02:00;50.759
| |
| 01.06.1977 00:00;38.131
| |
| 02.06.1977 23:59;36.169
| |
| 03.06.1977 00:30;36.316
| |
| 04.06.1977 00:00;30.803
| |
| 05.06.1977 00:00;26.294
| |
| 06.06.1977 23:59;29.861
| |
| 07.06.1977 23:00;51.207
| |
| 08.06.1977 22:00;63.087
| |
| 09.06.1977 23:30;82.823
| |
| 10.06.1977 22:00;109.493
| |
| 11.06.1977 00:00;104.427
| |
| 12.06.1977 00:00;90.078
| |
| 13.06.1977 22:00;103.169
| |
| 14.06.1977 23:59;120.391
| |
| 15.06.1977 02:00;125.505
| |
| 16.06.1977 10:00;85.915
| |
| 17.06.1977 00:00;58.973
| |
| 18.06.1977 23:59;74.687
| |
| 19.06.1977 23:59;86.142
| |
| 20.06.1977 01:30;86.383
| |
| 21.06.1977 23:59;73.066
| |
| 22.06.1977 01:00;73.583
| |
| 23.06.1977 00:00;62.195
| |
| 24.06.1977 20:00;54.91
| |
| 25.06.1977 19:30;75.354
| |
| 26.06.1977 23:59;94.717
| |
| 27.06.1977 01:30;94.959
| |
| 28.06.1977 00:00;64.193
| |
| 29.06.1977 00:00;51.4
| |
| 30.06.1977 11:30;62.741
| |
| 01.07.1977 00:00;49.039
| |
| 02.07.1977 23:59;48.14
| |
| 03.07.1977 23:59;65.391
| |
| 04.07.1977 23:59;72.606
| |
| 05.07.1977 01:00;72.777
| |
| 06.07.1977 01:30;62.05
| |
| 07.07.1977 03:00;55.174
| |
| 08.07.1977 23:59;54.91
| |
| 09.07.1977 02:30;55.042
| |
| 10.07.1977 15:00;65.953
| |
| 11.07.1977 02:00;61.844
| |
| 12.07.1977 01:00;55.57
| |
| 13.07.1977 23:59;100.575
| |
| 14.07.1977 01:00;115.434
| |
| 15.07.1977 11:00;93.509
| |
| 16.07.1977 23:59;70.042
| |
| 17.07.1977 06:30;101.755
| |
| 18.07.1977 00:00;65.251
| |
| 19.07.1977 00:30;60.133
| |
| 20.07.1977 23:59;73.238
| |
| 21.07.1977 07:00;207.793
| |
| 22.07.1977 00:00;76.599
| |
| 23.07.1977 00:00;44.949
| |
| 24.07.1977 22:00;47.228
| |
| 25.07.1977 23:59;66.47
| |
| 26.07.1977 04:30;85.993
| |
| 27.07.1977 00:00;56.811
| |
| 28.07.1977 00:00;40.869
| |
| 29.07.1977 20:00;34.316
| |
| 30.07.1977 23:59;40.194
| |
| 31.07.1977 23:30;253.056
| |
| 01.08.1977 05:30;271.508
| |
| 02.08.1977 00:00;119.963
| |
| 03.08.1977 00:00;54.623
| |
| 04.08.1977 00:00;39.101
| |
| 05.08.1977 20:30;82.898
| |
| 06.08.1977 00:00;71.46
| |
| 07.08.1977 06:00;68.654
| |
| 08.08.1977 00:00;53.663
| |
| 09.08.1977 00:00;49.738
| |
| 10.08.1977 11:00;59.712
| |
| 11.08.1977 00:00;46.09
| |
| 12.08.1977 00:00;33.279
| |
| 13.08.1977 23:59;38.364
| |
| 14.08.1977 07:00;54.828
| |
| 15.08.1977 00:00;34.25
| |
| 16.08.1977 00:00;27.856
| |
| 17.08.1977 23:59;35.97
| |
| 18.08.1977 23:59;39.485
| |
| 19.08.1977 10:30;45.281
| |
| 20.08.1977 00:00;42.13
| |
| 21.08.1977 23:59;41.287
| |
| 22.08.1977 07:00;64.402
| |
| 23.08.1977 00:00;43.641
| |
| 24.08.1977 00:00;32.957
| |
| 25.08.1977 00:00;27.529
| |
| 26.08.1977 07:30;26.534
| |
| 27.08.1977 00:00;25.876
| |
| 28.08.1977 23:59;30.351
| |
| 29.08.1977 23:59;42.718
| |
| 30.08.1977 18:30;47.544
| |
| 31.08.1977 00:00;47.182
| |
| 01.09.1977 00:00;40.953
| |
| 02.09.1977 00:00;31.879
| |
| 03.09.1977 00:00;31.226
| |
| 04.09.1977 23:00;47.976
| |
| 05.09.1977 00:00;46.886
| |
| 06.09.1977 00:00;30.996
| |
| 07.09.1977 00:00;21.428
| |
| 08.09.1977 23:59;25.908
| |
| 09.09.1977 10:00;104.255
| |
| 10.09.1977 00:00;44.71
| |
| 11.09.1977 00:00;26.393
| |
| 12.09.1977 07:00;25.501
| |
| 13.09.1977 22:00;24.5
| |
| 14.09.1977 00:00;24.053
| |
| 15.09.1977 23:59;21.439
| |
| 16.09.1977 00:00;21.439
| |
| 17.09.1977 00:00;17.751
| |
| 18.09.1977 20:30;16.759
| |
| 19.09.1977 00:00;16.545
| |
| 20.09.1977 00:00;16.018
| |
| 21.09.1977 00:00;14.903
| |
| 22.09.1977 00:00;14.601
| |
| 23.09.1977 00:00;14.145
| |
| 24.09.1977 22:30;14.043
| |
| 25.09.1977 00:00;14.014
| |
| 26.09.1977 00:00;13.582
| |
| 27.09.1977 00:00;12.734
| |
| 28.09.1977 00:00;12.527
| |
| 29.09.1977 00:00;11.77
| |
| 30.09.1977 21:00;11.496
| |
| 01.10.1977 23:59;11.468
| |
| 02.10.1977 23:59;12.19
| |
| 03.10.1977 08:00;12.376
| |
| 04.10.1977 00:00;12.092
| |
| 05.10.1977 00:00;11.196
| |
| 06.10.1977 23:59;10.693
| |
| 07.10.1977 23:59;10.782
| |
| 08.10.1977 23:59;13.122
| |
| 09.10.1977 04:00;13.796
| |
| 10.10.1977 23:59;13.217
| |
| 11.10.1977 02:30;14.509
| |
| 12.10.1977 00:00;12.641
| |
| 13.10.1977 00:00;12.146
| |
| 14.10.1977 23:59;11.612
| |
| 15.10.1977 00:00;11.612
| |
| 16.10.1977 00:00;10.018
| |
| 17.10.1977 07:30;9.798
| |
| 18.10.1977 00:00;9.615
| |
| 19.10.1977 15:00;9.333
| |
| 20.10.1977 00:00;9.067
| |
| 21.10.1977 00:00;8.838
| |
| 22.10.1977 00:00;8.531
| |
| 23.10.1977 23:59;8.48
| |
| 24.10.1977 23:59;8.937
| |
| 25.10.1977 19:30;9.333
| |
| 26.10.1977 00:00;9.238
| |
| 27.10.1977 00:00;8.792
| |
| 28.10.1977 09:00;9.524
| |
| 29.10.1977 00:00;9.22
| |
| 30.10.1977 00:00;8.862
| |
| 31.10.1977 23:59;8.933
| |
| 01.11.1977 06:30;9.198
| |
| 02.11.1977 23:59;10.241
| |
| 03.11.1977 05:30;11.758
| |
| 04.11.1977 00:00;10.872
| |
| 05.11.1977 00:00;8.886
| |
| 06.11.1977 00:00;8.583
| |
| 07.11.1977 00:00;8.075
| |
| 08.11.1977 00:00;7.574
| |
| 09.11.1977 21:00;6.945
| |
| 10.11.1977 00:00;6.851
| |
| 11.11.1977 00:00;6.527
| |
| 12.11.1977 00:00;6.356
| |
| 13.11.1977 18:00;7.044
| |
| 14.11.1977 00:00;6.651
| |
| 15.11.1977 10:30;6.48
| |
| 16.11.1977 00:00;6.401
| |
| 17.11.1977 00:00;6.311
| |
| 18.11.1977 18:00;6.12
| |
| 19.11.1977 00:00;6.026
| |
| 20.11.1977 00:00;4.894
| |
| 21.11.1977 23:59;4.754
| |
| 22.11.1977 23:30;4.992
| |
| 23.11.1977 00:00;4.989
| |
| 24.11.1977 23:59;5.015
| |
| 25.11.1977 23:59;5.767
| |
| 26.11.1977 16:30;5.861
| |
| 27.11.1977 00:00;5.843
| |
| 28.11.1977 23:59;6.008
| |
| 29.11.1977 01:00;6.026
| |
| 30.11.1977 08:30;5.978
| |
| 01.12.1977 08:30;5.978
| |
| 02.12.1977 17:00;5.837
| |
| 03.12.1977 00:00;5.397
| |
| 04.12.1977 07:00;5.284
| |
| 05.12.1977 23:59;5.444
| |
| 06.12.1977 16:00;5.536
| |
| 07.12.1977 00:00;4.849
| |
| 08.12.1977 00:00;4.812
| |
| 09.12.1977 20:30;5.744
| |
| 10.12.1977 00:00;5.661
| |
| 11.12.1977 00:00;5.318
| |
| 12.12.1977 23:59;5.408
| |
| 13.12.1977 11:00;6.504
| |
| 14.12.1977 00:00;6.119
| |
| 15.12.1977 20:00;5.861
| |
| 16.12.1977 11:30;5.582
| |
| 17.12.1977 16:00;5.559
| |
| 18.12.1977 00:00;5.434
| |
| 19.12.1977 13:30;5.536
| |
| 20.12.1977 15:00;5.353
| |
| 21.12.1977 13:00;5.721
| |
| 22.12.1977 15:30;5.791
| |
| 23.12.1977 00:00;5.692
| |
| 24.12.1977 00:00;5.308
| |
| 25.12.1977 23:59;5.914
| |
| 26.12.1977 18:30;6.026
| |
| 27.12.1977 00:00;5.696
| |
| 28.12.1977 18:00;5.744
| |
| 29.12.1977 00:00;5.537
| |
| 30.12.1977 18:00;5.536
| |
| 31.12.1977 00:00;4.925
| |
| 01.01.1978 00:00;4.76
| |
| 02.01.1978 23:59;4.545
| |
| 03.01.1978 01:30;4.596
| |
| 04.01.1978 18:30;4.381
| |
| 05.01.1978 18:00;4.232
| |
| 06.01.1978 00:00;3.96
| |
| 07.01.1978 23:59;3.96
| |
| 08.01.1978 23:59;3.96
| |
| 09.01.1978 23:59;3.96
| |
| 10.01.1978 23:59;3.96
| |
| 11.01.1978 23:59;3.96
| |
| 12.01.1978 23:59;3.96
| |
| 13.01.1978 23:59;3.96
| |
| 14.01.1978 15:30;4.106
| |
| 15.01.1978 00:00;3.878
| |
| 16.01.1978 11:30;4.127
| |
| 17.01.1978 00:00;4.043
| |
| 18.01.1978 00:00;3.585
| |
| 19.01.1978 23:59;3.545
| |
| 20.01.1978 06:30;3.553
| |
| 21.01.1978 00:00;3.176
| |
| </pre>
| |
|
| |
|
| ==Links== | | ==Links== |
| * [[Teaching:TUW_-_UE_InfoVis_WS_2006/07_-_Gruppe_02|Gruppe 2]] | | * [[Teaching:TUW_-_UE_InfoVis_WS_2006/07_-_Gruppe_02|Gruppe 2]] |