Skip to content

Commit

Permalink
Use aggregate data for bar chart and add rescaling.
Browse files Browse the repository at this point in the history
  • Loading branch information
meiron03 committed Apr 14, 2023
1 parent 8423916 commit a0fa1f4
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ class FitnessAdapter(private val fitnessRooms: List<FitnessRoom>) :
room: FitnessRoom
) {
if (hasExtraData) return
room.roomId?.let { studentLife.getFitnessRoomUsage(it).subscribe(
room.roomId?.let { studentLife.getFitnessRoomUsage(it, 3, "week").subscribe(
{ roomUsage ->
createBarChart(context, roomUsage)
activity.runOnUiThread {
Expand All @@ -95,9 +95,11 @@ class FitnessAdapter(private val fitnessRooms: List<FitnessRoom>) :

val timeData = roomData.roomUsage
val curHour = LocalDateTime.now().hour
var mxUsage = 0f
// assume that we start at 6am and end at 11 pm
for (i in 6..23) {
val v = if (timeData == null) 0f else timeData[i.toString()] ?: 0f
mxUsage = maxOf(mxUsage, v)
entries.add(BarEntry((i - 6).toFloat(), v))
colors.add(if (i == curHour) darkBlue else blue)
labels.add(if (i > 12) "${i - 12}pm" else "${i}am")
Expand All @@ -120,8 +122,9 @@ class FitnessAdapter(private val fitnessRooms: List<FitnessRoom>) :
leftAxis.setDrawGridLines(false)
leftAxis.setDrawAxisLine(false)
leftAxis.setDrawLabels(false);
leftAxis.axisMinimum = -5.0f
leftAxis.axisMaximum = 100.0f

leftAxis.axisMinimum = -0.05f * mxUsage
leftAxis.axisMaximum = mxUsage

val rightAxis: YAxis = barChart.axisRight
rightAxis.setDrawGridLines(false)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,5 +203,7 @@ void createPollVote(

@GET("/penndata/fitness/usage/{id}")
Observable<FitnessRoomUsage> getFitnessRoomUsage(
@Path("id") int id);
@Path("id") int id,
@Query("num_samples") int samples,
@Query("group_by") String groupBy);
}

0 comments on commit a0fa1f4

Please sign in to comment.