When Orion collects data about interface traffic, it writes it into that table with Min=Max=Avg, just like you observed. When this data gets older (default = 7 days old), it gets summarized into hourly buckets. For each interface, all the data collected in a given hour gets summarized into a single row and the detailed data is removed to save space. At this point Min=the smallest value recorded that hour, Max=the largest that hour, and Avg=the average for the hour. A similar process happens again when the data is (by default) 30 days old when the hours get summarized into days.
The chart does its own version of this process at display time using the "Sample Interval" setting on the chart. This aggregation happens in memory in the web server process before the data gets sent to the browser. In other words, the website queries SWIS using something not unlike your query and gets a bunch of raw points. Then it aggregates this into buckets sized according to the sample interval (looks like it might be 12 hours in your screenshot) and send it to the browser for chart rendering.