Skip to content

Instantly share code, notes, and snippets.

@jwildfire
Last active March 22, 2019 20:28
Show Gist options
  • Save jwildfire/f2bd58b09852a37dcb131ba43507fab4 to your computer and use it in GitHub Desktop.
Save jwildfire/f2bd58b09852a37dcb131ba43507fab4 to your computer and use it in GitHub Desktop.
Scatter Plot Matrix

Title: Interactive Scatter Plot Lattice with Vital Signs Data

Languages: javascript

Libraries: scatterPlotMatrix

Description: A paneled series of scatter plots plotting every measure against every other measure

Tags: interactive, scatter plot, lattice, matrix, bivariate

Data: ../../data/iris.csv, ../../data/safetyData/VS.csv, ../0016-safety-outlier-explorer-hys-law/hy.csv

Code: index.js

Results: example.html

USUBJID SITEID AGE SEX RACE ARM RFSTDTC SAFFL CAT TEST STNRLO STNRHI STRESU VISITN VISIT DY STRESN DT
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Albumin 35 55 g/L 0 Screening 1 38.00 5/21/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Albumin 35 55 g/L 1 Visit 1 58 39.00 7/17/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Albumin 35 55 g/L 2 Visit 2 107 38.00 9/4/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Albumin 35 55 g/L 3 Visit 3 162 34.00 10/29/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Albumin 35 55 g/L 4 Visit 4 218 35.00 12/24/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Albumin 35 55 g/L 5 Visit 5 284 32.00 2/28/16
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Albumin 35 55 g/L 6 Visit 6 336 35.00 4/20/16
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Albumin 35 55 g/L 7 End of Study 355 37.00 5/9/16
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 0 Screening 1 0.65 5/21/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 1 Visit 1 58 0.70 7/17/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 2 Visit 2 107 1.00 9/4/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 3 Visit 3 162 1.25 10/29/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 4 Visit 4 218 1.55 12/24/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 5 Visit 5 284 1.30 2/28/16
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 6 Visit 6 336 0.95 4/20/16
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 7 End of Study 355 0.75 5/9/16
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 0 Screening 1 0.35 5/21/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 1 Visit 1 58 0.30 7/17/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 2 Visit 2 107 1.20 9/4/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 3 Visit 3 162 4.80 10/29/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 4 Visit 4 218 6.00 12/24/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 5 Visit 5 284 3.50 2/28/16
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 6 Visit 6 336 1.60 4/20/16
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 7 End of Study 355 0.80 5/9/16
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 0 Screening 1 0.30 5/21/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 1 Visit 1 58 0.25 7/17/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 2 Visit 2 107 1.00 9/4/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 3 Visit 3 162 4.50 10/29/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 4 Visit 4 218 5.75 12/24/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 5 Visit 5 284 3.00 2/28/16
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 6 Visit 6 336 1.20 4/20/16
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 7 End of Study 355 0.60 5/9/16
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 0 Screening 1 9.00 5/21/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 1 Visit 1 58 9.00 7/17/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 2 Visit 2 107 12.00 9/4/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 3 Visit 3 162 19.00 10/29/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 4 Visit 4 218 30.00 12/24/15
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 5 Visit 5 284 25.00 2/28/16
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 6 Visit 6 336 18.00 4/20/16
01-001 1 30 F Other/Mixed Placebo 5/21/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 7 End of Study 355 12.00 5/9/16
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Albumin 35 55 g/L 0 Screening 1 25.26 5/30/15
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Albumin 35 55 g/L 1 Visit 1 52 41.36 7/20/15
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Albumin 35 55 g/L 2 Visit 2 113 38.40 9/19/15
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Albumin 35 55 g/L 3 Visit 3 162 41.22 11/7/15
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Albumin 35 55 g/L 4 Visit 4 228 40.53 1/12/16
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Albumin 35 55 g/L 5 Visit 5 283 64.40 3/7/16
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Albumin 35 55 g/L 6 Visit 6 343 33.81 5/6/16
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Albumin 35 55 g/L 7 End of Study 372 34.89 6/4/16
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 0 Screening 1 1.40 5/30/15
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 1 Visit 1 52 0.00 7/20/15
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 2 Visit 2 113 0.54 9/19/15
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 3 Visit 3 162 0.91 11/7/15
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 4 Visit 4 228 0.94 1/12/16
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 5 Visit 5 283 0.70 3/7/16
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 6 Visit 6 343 0.64 5/6/16
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 7 End of Study 372 0.83 6/4/16
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 0 Screening 1 0.00 5/30/15
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 1 Visit 1 52 0.58 7/20/15
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 2 Visit 2 113 0.44 9/19/15
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 3 Visit 3 162 0.81 11/7/15
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 4 Visit 4 228 0.35 1/12/16
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 5 Visit 5 283 0.92 3/7/16
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 6 Visit 6 343 0.57 5/6/16
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 7 End of Study 372 0.91 6/4/16
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 0 Screening 1 0.00 5/30/15
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 1 Visit 1 52 0.86 7/20/15
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 2 Visit 2 113 0.30 9/19/15
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 3 Visit 3 162 0.12 11/7/15
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 4 Visit 4 228 0.14 1/12/16
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 5 Visit 5 283 0.00 3/7/16
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 6 Visit 6 343 0.11 5/6/16
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 7 End of Study 372 0.50 6/4/16
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 0 Screening 1 22.44 5/30/15
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 1 Visit 1 52 0.00 7/20/15
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 2 Visit 2 113 17.97 9/19/15
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 3 Visit 3 162 15.21 11/7/15
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 4 Visit 4 228 18.38 1/12/16
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 5 Visit 5 283 24.37 3/7/16
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 6 Visit 6 343 11.63 5/6/16
01-002 1 24 F Black Treatment A 5/30/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 7 End of Study 372 23.49 6/4/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Albumin 35 55 g/L 0 Screening 1 36.77 8/13/15
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Albumin 35 55 g/L 1 Visit 1 55 50.39 10/6/15
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Albumin 35 55 g/L 2 Visit 2 106 35.19 11/26/15
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Albumin 35 55 g/L 3 Visit 3 173 58.32 2/1/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Albumin 35 55 g/L 4 Visit 4 220 39.07 3/19/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Albumin 35 55 g/L 5 Visit 5 285 41.87 5/23/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Albumin 35 55 g/L 6 Visit 6 337 48.43 7/14/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Albumin 35 55 g/L 7 End of Study 365 48.09 8/11/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 0 Screening 1 0.90 8/13/15
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 1 Visit 1 55 2.07 10/6/15
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 2 Visit 2 106 1.39 11/26/15
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 3 Visit 3 173 1.15 2/1/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 4 Visit 4 220 0.80 3/19/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 5 Visit 5 285 1.51 5/23/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 6 Visit 6 337 1.42 7/14/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 7 End of Study 365 0.85 8/11/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 0 Screening 1 0.41 8/13/15
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 1 Visit 1 55 0.44 10/6/15
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 2 Visit 2 106 0.06 11/26/15
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 3 Visit 3 173 0.16 2/1/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 4 Visit 4 220 0.65 3/19/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 5 Visit 5 285 0.47 5/23/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 6 Visit 6 337 0.38 7/14/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 7 End of Study 365 0.00 8/11/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 0 Screening 1 0.33 8/13/15
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 1 Visit 1 55 0.25 10/6/15
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 2 Visit 2 106 0.47 11/26/15
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 3 Visit 3 173 0.31 2/1/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 4 Visit 4 220 0.28 3/19/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 5 Visit 5 285 0.00 5/23/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 6 Visit 6 337 0.16 7/14/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 7 End of Study 365 0.00 8/11/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 0 Screening 1 5.52 8/13/15
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 1 Visit 1 55 7.60 10/6/15
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 2 Visit 2 106 6.30 11/26/15
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 3 Visit 3 173 12.11 2/1/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 4 Visit 4 220 11.80 3/19/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 5 Visit 5 285 14.28 5/23/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 6 Visit 6 337 20.83 7/14/16
01-003 1 43 F Hispanic Placebo 8/13/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 7 End of Study 365 6.42 8/11/16
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Albumin 35 55 g/L 0 Screening 1 42.74 1/12/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Albumin 35 55 g/L 1 Visit 1 60 46.64 3/12/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Albumin 35 55 g/L 2 Visit 2 117 28.46 5/8/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Albumin 35 55 g/L 3 Visit 3 161 29.91 6/21/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Albumin 35 55 g/L 4 Visit 4 224 43.71 8/23/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Albumin 35 55 g/L 5 Visit 5 281 38.18 10/19/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Albumin 35 55 g/L 6 Visit 6 329 37.85 12/6/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Albumin 35 55 g/L 7 End of Study 367 48.37 1/13/16
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 0 Screening 1 0.64 1/12/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 1 Visit 1 60 0.74 3/12/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 2 Visit 2 117 0.53 5/8/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 3 Visit 3 161 0.53 6/21/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 4 Visit 4 224 0.87 8/23/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 5 Visit 5 281 1.06 10/19/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 6 Visit 6 329 1.91 12/6/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 7 End of Study 367 0.63 1/13/16
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 0 Screening 1 0.60 1/12/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 1 Visit 1 60 0.63 3/12/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 2 Visit 2 117 0.31 5/8/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 3 Visit 3 161 0.54 6/21/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 4 Visit 4 224 0.18 8/23/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 5 Visit 5 281 0.40 10/19/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 6 Visit 6 329 0.42 12/6/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 7 End of Study 367 0.00 1/13/16
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 0 Screening 1 0.43 1/12/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 1 Visit 1 60 0.30 3/12/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 2 Visit 2 117 0.77 5/8/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 3 Visit 3 161 0.00 6/21/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 4 Visit 4 224 0.47 8/23/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 5 Visit 5 281 0.00 10/19/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 6 Visit 6 329 0.11 12/6/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 7 End of Study 367 0.43 1/13/16
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 0 Screening 1 18.38 1/12/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 1 Visit 1 60 9.85 3/12/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 2 Visit 2 117 6.87 5/8/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 3 Visit 3 161 14.70 6/21/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 4 Visit 4 224 24.41 8/23/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 5 Visit 5 281 19.40 10/19/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 6 Visit 6 329 20.07 12/6/15
01-004 1 42 F Hispanic Placebo 1/12/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 7 End of Study 367 20.82 1/13/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Albumin 35 55 g/L 0 Screening 1 49.81 11/11/15
01-005 1 51 M White Treatment B 11/11/15 Y Serum Albumin 35 55 g/L 1 Visit 1 61 31.14 1/10/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Albumin 35 55 g/L 2 Visit 2 119 51.96 3/8/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Albumin 35 55 g/L 3 Visit 3 171 50.31 4/29/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Albumin 35 55 g/L 4 Visit 4 225 54.23 6/22/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Albumin 35 55 g/L 5 Visit 5 277 38.10 8/13/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Albumin 35 55 g/L 6 Visit 6 338 39.39 10/13/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Albumin 35 55 g/L 7 End of Study 363 43.36 11/7/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 0 Screening 1 1.41 11/11/15
01-005 1 51 M White Treatment B 11/11/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 1 Visit 1 61 0.23 1/10/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 2 Visit 2 119 1.37 3/8/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 3 Visit 3 171 1.22 4/29/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 4 Visit 4 225 0.84 6/22/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 5 Visit 5 277 0.77 8/13/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 6 Visit 6 338 1.18 10/13/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 7 End of Study 363 1.32 11/7/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 0 Screening 1 1.26 11/11/15
01-005 1 51 M White Treatment B 11/11/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 1 Visit 1 61 0.00 1/10/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 2 Visit 2 119 0.00 3/8/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 3 Visit 3 171 0.51 4/29/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 4 Visit 4 225 0.33 6/22/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 5 Visit 5 277 0.50 8/13/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 6 Visit 6 338 0.34 10/13/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 7 End of Study 363 0.75 11/7/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 0 Screening 1 0.31 11/11/15
01-005 1 51 M White Treatment B 11/11/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 1 Visit 1 61 0.00 1/10/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 2 Visit 2 119 0.70 3/8/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 3 Visit 3 171 0.00 4/29/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 4 Visit 4 225 0.00 6/22/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 5 Visit 5 277 0.31 8/13/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 6 Visit 6 338 0.75 10/13/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 7 End of Study 363 0.25 11/7/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 0 Screening 1 3.15 11/11/15
01-005 1 51 M White Treatment B 11/11/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 1 Visit 1 61 2.29 1/10/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 2 Visit 2 119 12.61 3/8/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 3 Visit 3 171 13.81 4/29/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 4 Visit 4 225 17.50 6/22/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 5 Visit 5 277 7.89 8/13/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 6 Visit 6 338 20.49 10/13/16
01-005 1 51 M White Treatment B 11/11/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 7 End of Study 363 16.05 11/7/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Albumin 35 55 g/L 0 Screening 1 51.10 11/21/15
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Albumin 35 55 g/L 1 Visit 1 58 35.03 1/17/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Albumin 35 55 g/L 2 Visit 2 107 52.96 3/6/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Albumin 35 55 g/L 3 Visit 3 174 61.20 5/12/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Albumin 35 55 g/L 4 Visit 4 222 31.53 6/29/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Albumin 35 55 g/L 5 Visit 5 274 45.90 8/20/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Albumin 35 55 g/L 6 Visit 6 329 27.28 10/14/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Albumin 35 55 g/L 7 End of Study 356 47.90 11/10/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 0 Screening 1 1.05 11/21/15
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 1 Visit 1 58 0.47 1/17/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 2 Visit 2 107 0.52 3/6/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 3 Visit 3 174 0.98 5/12/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 4 Visit 4 222 2.55 6/29/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 5 Visit 5 274 0.97 8/20/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 6 Visit 6 329 2.00 10/14/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 7 End of Study 356 0.75 11/10/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 0 Screening 1 0.18 11/21/15
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 1 Visit 1 58 0.34 1/17/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 2 Visit 2 107 0.32 3/6/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 3 Visit 3 174 0.00 5/12/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 4 Visit 4 222 0.09 6/29/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 5 Visit 5 274 0.00 8/20/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 6 Visit 6 329 0.00 10/14/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 7 End of Study 356 0.23 11/10/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 0 Screening 1 0.00 11/21/15
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 1 Visit 1 58 0.57 1/17/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 2 Visit 2 107 0.54 3/6/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 3 Visit 3 174 0.00 5/12/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 4 Visit 4 222 0.00 6/29/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 5 Visit 5 274 0.12 8/20/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 6 Visit 6 329 0.00 10/14/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 7 End of Study 356 0.21 11/10/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 0 Screening 1 14.02 11/21/15
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 1 Visit 1 58 14.10 1/17/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 2 Visit 2 107 14.18 3/6/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 3 Visit 3 174 18.60 5/12/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 4 Visit 4 222 7.73 6/29/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 5 Visit 5 274 1.54 8/20/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 6 Visit 6 329 4.53 10/14/16
01-008 1 53 F Black Treatment B 11/21/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 7 End of Study 356 22.92 11/10/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Albumin 35 55 g/L 0 Screening 1 15.34 11/25/15
01-009 1 44 M White Treatment B 11/25/15 Y Serum Albumin 35 55 g/L 1 Visit 1 57 40.64 1/20/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Albumin 35 55 g/L 2 Visit 2 116 57.93 3/19/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Albumin 35 55 g/L 3 Visit 3 166 37.61 5/8/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Albumin 35 55 g/L 4 Visit 4 218 49.27 6/29/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Albumin 35 55 g/L 5 Visit 5 286 35.15 9/5/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Albumin 35 55 g/L 6 Visit 6 339 58.47 10/28/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Albumin 35 55 g/L 7 End of Study 358 47.24 11/16/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 0 Screening 1 0.92 11/25/15
01-009 1 44 M White Treatment B 11/25/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 1 Visit 1 57 0.68 1/20/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 2 Visit 2 116 0.46 3/19/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 3 Visit 3 166 1.18 5/8/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 4 Visit 4 218 1.07 6/29/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 5 Visit 5 286 0.44 9/5/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 6 Visit 6 339 2.02 10/28/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 7 End of Study 358 1.63 11/16/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 0 Screening 1 0.34 11/25/15
01-009 1 44 M White Treatment B 11/25/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 1 Visit 1 57 0.00 1/20/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 2 Visit 2 116 1.11 3/19/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 3 Visit 3 166 0.00 5/8/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 4 Visit 4 218 0.43 6/29/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 5 Visit 5 286 0.21 9/5/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 6 Visit 6 339 0.46 10/28/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 7 End of Study 358 0.33 11/16/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 0 Screening 1 0.35 11/25/15
01-009 1 44 M White Treatment B 11/25/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 1 Visit 1 57 0.67 1/20/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 2 Visit 2 116 0.58 3/19/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 3 Visit 3 166 0.41 5/8/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 4 Visit 4 218 0.00 6/29/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 5 Visit 5 286 0.38 9/5/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 6 Visit 6 339 0.00 10/28/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 7 End of Study 358 0.00 11/16/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 0 Screening 1 22.42 11/25/15
01-009 1 44 M White Treatment B 11/25/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 1 Visit 1 57 14.17 1/20/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 2 Visit 2 116 19.16 3/19/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 3 Visit 3 166 0.00 5/8/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 4 Visit 4 218 13.83 6/29/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 5 Visit 5 286 9.96 9/5/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 6 Visit 6 339 9.28 10/28/16
01-009 1 44 M White Treatment B 11/25/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 7 End of Study 358 14.94 11/16/16
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Albumin 35 55 g/L 0 Screening 1 40.18 1/6/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Albumin 35 55 g/L 1 Visit 1 56 36.41 3/2/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Albumin 35 55 g/L 2 Visit 2 107 36.61 4/22/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Albumin 35 55 g/L 3 Visit 3 168 30.45 6/22/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Albumin 35 55 g/L 4 Visit 4 224 36.69 8/17/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Albumin 35 55 g/L 5 Visit 5 279 52.82 10/11/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Albumin 35 55 g/L 6 Visit 6 341 56.51 12/12/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Albumin 35 55 g/L 7 End of Study 367 33.14 1/7/16
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 0 Screening 1 0.17 1/6/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 1 Visit 1 56 1.13 3/2/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 2 Visit 2 107 2.30 4/22/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 3 Visit 3 168 0.79 6/22/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 4 Visit 4 224 1.60 8/17/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 5 Visit 5 279 0.64 10/11/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 6 Visit 6 341 0.85 12/12/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Alkaline phosphatase (ALP) 0.5 1.5 ukat/L 7 End of Study 367 0.67 1/7/16
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 0 Screening 1 0.33 1/6/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 1 Visit 1 56 0.00 3/2/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 2 Visit 2 107 0.57 4/22/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 3 Visit 3 168 0.61 6/22/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 4 Visit 4 224 0.39 8/17/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 5 Visit 5 279 0.72 10/11/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 6 Visit 6 341 0.23 12/12/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Aminotransferase, alanine (ALT) 0 0.58 pkat/L 7 End of Study 367 0.34 1/7/16
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 0 Screening 1 0.49 1/6/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 1 Visit 1 56 0.42 3/2/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 2 Visit 2 107 0.24 4/22/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 3 Visit 3 168 0.19 6/22/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 4 Visit 4 224 0.00 8/17/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 5 Visit 5 279 0.11 10/11/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 6 Visit 6 341 0.30 12/12/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Aminotransferase, aspartate (AST) 0 0.58 pkat/L 7 End of Study 367 0.55 1/7/16
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 0 Screening 1 10.79 1/6/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 1 Visit 1 56 20.88 3/2/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 2 Visit 2 107 10.57 4/22/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 3 Visit 3 168 22.56 6/22/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 4 Visit 4 224 14.02 8/17/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 5 Visit 5 279 6.07 10/11/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 6 Visit 6 341 13.05 12/12/15
01-010 1 35 F Black Treatment B 1/6/15 Y Serum Total Bilirubin 5.1 20.5 umol/L 7 End of Study 367 8.83 1/7/16
<!DOCTYPE html>
<html>
<head>
<title>Interactive Scatter Plot Matrix</title>
<meta http-equiv = 'Content-Type' content = 'text/html; charset = utf-8'>
<script type = 'text/javascript' src = 'https://d3js.org/d3.v3.min.js'></script>
<script type = 'text/javascript' src = 'scatterPlotMatrix.js'></script>
<style>
/*everything*/
@import url(https://fonts.googleapis.com/css?family = Open+Sans:400,300);
* {
padding: 0;
margin: 0;
font-family: 'Open Sans', Helvetica, Arial, sans-serif;
}
#title {
width: 96%;
margin: 2%;
border-bottom: 1px solid lightgray;
font-weight: lighter;
font-size: 250%;
}
/*tabs*/
div.tab {
width: 96%;
margin: 2%;
font-weight: lighter;
font-size: 150%;
overflow: hidden;
border: 1px solid #ccc;
background-color: #f1f1f1;
}
div.tab button {
background-color: inherit;
float: left;
border: none;
outline: none;
cursor: pointer;
padding: 14px 16px;
transition: 0.3s;
}
div.tab button:hover {
background-color: #ddd;
}
div.tab button.active {
background-color: #ccc;
}
.tabcontent {
display: none;
padding: 6px 12px;
border: 1px solid #ccc;
border-top: none;
}
/*scatter plots*/
svg {
font: 10px sans-serif;
padding: 10px;
}
.axis,
.frame {
shape-rendering: crispEdges;
}
.axis line {
stroke: #ddd;
}
.axis path {
display: none;
}
.cell text {
font-weight: bold;
text-transform: capitalize;
}
.frame {
fill: none;
stroke: #aaa;
}
circle {
fill-opacity: .7;
}
circle.hidden {
fill: #ccc !important;
}
.extent {
fill: #000;
fill-opacity: .125;
stroke: #fff;
}
</style>
</head>
<body>
<div class="tab">
<button class="tablinks active" onclick="openTab(event, 'iris')">Iris Measurements</button>
<button class="tablinks" onclick="openTab(event, 'VS')">Vital Signs</button>
<button class="tablinks" onclick="openTab(event, 'hy')">Liver Function Tests</button>
</div>
<div id="iris" class="tabcontent" style = "display:block"></div>
<div id="VS" class="tabcontent"></div>
<div id="hy" class="tabcontent"></div>
</body>
<script defer type = 'text/javascript' src = 'index.js'></script>
</html>
function toggleDetails(){
var details = document.getElementById("vl-ex-details");
if (details.style.display === "none") {
details.style.display = "block";
} else {
details.style.display = "none";
}
}
function openTab(evt, id) {
// Declare all variables
var i, tabcontent, tablinks;
// Get all elements with class="tabcontent" and hide them
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
// Get all elements with class="tablinks" and remove the class "active"
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
// Show the current tab, and add an "active" class to the button that opened the tab
document.getElementById(id).style.display = "block";
evt.currentTarget.className += " active";
}
function toggleDetails(){
var details = document.getElementById("vl-ex-details");
if (details.style.display === "none") {
details.style.display = "block";
} else {
details.style.display = "none";
}
}
/*------------------------------------------------------------------------------------------------\
Iris Measurements
\------------------------------------------------------------------------------------------------*/
var element3 = '#iris';
var dataPath3 = 'https://rhoinc.github.io/data-library/data/miscellaneous/iris.csv';
var settings3 = {
keys: ['observation'],
measure_col: 'dimension',
measures: ['sepal length', 'sepal width', 'petal length', 'petal width'],
result_col: 'length',
group_col: 'species',
size: 200,
padding: 20};
d3.csv(dataPath3, function(data) {
var transposed = [];
data.forEach((d,i) => {
settings3.measures.forEach(measure => {
transposed.push(
{observation: i
,dimension: measure
,length: d[measure]
,species: d.species});
});
});
scatterPlotMatrix
(element3
,transposed
,settings3);
});
/*------------------------------------------------------------------------------------------------\
Vital Signs
\------------------------------------------------------------------------------------------------*/
var element1 = '#VS';
var dataPath1 = 'https://rhoinc.github.io/data-library/data/clinical-trials/sdtm/vs.csv';
var settings1 = {
keys: ['USUBJID', 'VISIT'],
measure_col: 'VSTEST',
result_col: 'VSSTRESN',
group_col: 'site',
size: 200,
padding: 20};
d3.csv(dataPath1, function(data) {
data.forEach(function(d) {
d.VSSTRESN = +d.VSSTRESN;
d.site = d.USUBJID.split('-')[0];
d.VSSTNRLO = +d.VSSTNRLO;
d.VSSTNRHI = +d.VSSTNRHI;
d.level = d.VSSTRESN >= d.VSSTNRLO && d.VSSTRESN <= d.VSSTNRHI
? 'Normal'
: d.VSSTRESN < d.VSSTNRLO
? 'Low'
: 'High';
});
scatterPlotMatrix
(element1
,data.filter(d => d.VISIT === 'Screening')
,settings1);
});
/*------------------------------------------------------------------------------------------------\
Liver Function Tests
\------------------------------------------------------------------------------------------------*/
var element2 = '#hy';
var dataPath2 = './hy.csv';
var settings2 = {
keys: ['USUBJID', 'VISIT'],
measure_col: 'TEST',
result_col: 'STRESN',
group_col: 'VISIT',
size: 200,
padding: 20};
d3.csv(dataPath2, function(data) {
data.forEach(function(d) {
d.site = d.USUBJID.split('-')[0];
});
scatterPlotMatrix
(element2
,data
,settings2);
});
{
"homepage":"example.html",
"main": "index.js",
"name": "scatter-plot-matrix",
"label":"Interactive Scatter Plot Lattice with Vital Signs Data",
"version": "1.0.1",
"description": "A paneled series of scatter plots plotting every measure against every other measure",
"author": "Rho, Inc.",
"license": "MIT",
"keywords":["javascript","interactive", "scatter plot", "lattice", "matrix", "bivariate"],
"dependencies": {
"d3": "~3"
},
"dataDependecies":[
"../../data/iris.csv",
"../../data/safetyData/SDTM/VS.csv",
"../0016-safety-outlier-explorer-hys-law/hy.csv"
]
}
/*------------------------------------------------------------------------------------------------\
Functions
\------------------------------------------------------------------------------------------------*/
//generate data array representing matrix of one item per measure combination
function cross(a, b) {
var c = [],
n = a.length,
m = b.length,
i,
j;
for (i = -1; ++i < n;)
for (j = -1; ++j < m;)
c.push(
{x: a[i]
,i: i
,y: b[j]
,j: j});
return c;
}
function scatterPlotMatrix(element, data, settings) {
//main object
var scatterPlotMatrix = {};
scatterPlotMatrix.element = element;
scatterPlotMatrix.selection = d3.select(element);
//settings
if (!settings.measures)
settings.measures = d3.set(
data.map(d => d[settings.measure_col]))
.values();
settings.nMeasures = settings.measures.length;
scatterPlotMatrix.settings = Object.assign({}, settings);
//data
scatterPlotMatrix.data = {raw: data};
scatterPlotMatrix.data.raw
.forEach(d => {
d[settings.result_col] = +d[settings.result_col];
});
scatterPlotMatrix.data.measures = settings.measures
.map(measure => {
var summary = {};
summary.measure = measure;
summary.data = data.filter(d => d[settings.measure_col] === measure);
summary.values = summary.data.map(d => +d[settings.result_col]).sort();
summary.domain = d3.extent(summary.values);
return summary;
});
scatterPlotMatrix.data.crossed = cross(scatterPlotMatrix.data.measures,scatterPlotMatrix.data.measures);
//x
scatterPlotMatrix.xScale = d3.scale.linear()
.range([settings.padding / 2, settings.size - settings.padding / 2]);
scatterPlotMatrix.xAxis = d3.svg.axis()
.scale(scatterPlotMatrix.xScale)
.orient('bottom')
.ticks(6);
scatterPlotMatrix.xAxis.tickSize(settings.size * settings.nMeasures);
//y
scatterPlotMatrix.yScale = d3.scale.linear()
.range([settings.size - settings.padding / 2, settings.padding / 2]);
scatterPlotMatrix.yAxis = d3.svg.axis()
.scale(scatterPlotMatrix.yScale)
.orient('left')
.ticks(6);
scatterPlotMatrix.yAxis.tickSize(-settings.size * settings.nMeasures);
//color
scatterPlotMatrix.colorScale = d3.scale.category10();
var svg = scatterPlotMatrix.selection
.append('svg')
.attr('width', settings.size * settings.nMeasures + settings.padding)
.attr('height', settings.size * settings.nMeasures + settings.padding)
.append('g')
.attr('transform', 'translate(' + settings.padding + ',' + settings.padding / 2 + ')');
svg.selectAll('g.x.axis')
.data(scatterPlotMatrix.data.measures)
.enter()
.append('g')
.classed('x axis', true)
.attr('transform', function(d, i) {
return 'translate(' + (settings.nMeasures - i - 1) * settings.size + ',0)'; })
.each(function(d) {
scatterPlotMatrix.xScale
.domain(d.domain);
d3.select(this)
.call(scatterPlotMatrix.xAxis);
});
svg.selectAll('g.y.axis')
.data(scatterPlotMatrix.data.measures)
.enter()
.append('g')
.classed('y axis', true)
.attr('transform', function(d, i) {
return 'translate(0,' + i * settings.size + ')'; })
.each(function(d) {
scatterPlotMatrix.yScale
.domain(d.domain);
d3.select(this)
.call(scatterPlotMatrix.yAxis);
});
function plot(p) {
var cell = d3.select(this);
scatterPlotMatrix.xScale.domain(p.x.domain);
scatterPlotMatrix.yScale.domain(p.y.domain);
var rect = cell.append('rect')
.attr('class', 'frame')
.attr('x', settings.padding / 2)
.attr('y', settings.padding / 2)
.attr('width', settings.size - settings.padding)
.attr('height', settings.size - settings.padding);
var bivariateData = data
.filter(d =>
d[settings.measure_col] === p.x.measure ||
d[settings.measure_col] === p.y.measure);
var nested = d3.nest()
.key(d => settings.keys.map(key => d[key]).concat(d[settings.group_col]).join('||'))
.rollup(d => {
var results = {};
d.forEach(di => {
var measure = di[settings.measure_col];
results[measure] = di[settings.result_col];
});
return results;
})
.entries(bivariateData);
var transposed = [];
nested.forEach((d,i) => {
settings.keys
.forEach((key,j) => {
d.values[key] = d.key.split('||')[j];
});
d.values[settings.group_col] = d.key.split('||')[settings.keys.length];
transposed.push(d.values);
});
var points = cell.selectAll('circle')
.data(transposed)
.enter()
.append('circle')
.attr('cx', function(d) { return scatterPlotMatrix.xScale(d[p.x.measure]); })
.attr('cy', function(d) { return scatterPlotMatrix.yScale(d[p.y.measure]); })
.attr('r', 4)
.style('fill', function(d) { return scatterPlotMatrix.colorScale(d[settings.group_col]); });
}
var cells = svg.selectAll('g.cell')
.data(scatterPlotMatrix.data.crossed)
.enter()
.append('g')
.classed('cell', true)
.attr('transform', function(d) {
var x = (settings.nMeasures - d.i - 1) * settings.size;
var y = d.j * settings.size;
return 'translate(' + x + ',' + y + ')'; })
.each(plot);
//Titles for the diagonal.
cells.filter(function(d) { return d.i === d.j; })
.append('text')
.attr('x', settings.padding)
.attr('y', settings.padding)
.attr('dy', '.71em')
.text(function(d) {
return d.x.measure; });
//Brushing.
var brush = d3.svg.brush()
.x(scatterPlotMatrix.xScale)
.y(scatterPlotMatrix.yScale)
.on('brushstart', brushstart)
.on('brush', brushmove)
.on('brushend', brushend);
var brushCell;
//Clear the previously-active brush, if any.
function brushstart(p) {
if (brushCell !== this) {
d3.select(brushCell).call(brush.clear());
scatterPlotMatrix.xScale.domain(p.x.domain);
scatterPlotMatrix.yScale.domain(p.y.domain);
brushCell = this;
}
}
//Highlight the selected circles.
function brushmove(p) {
var e = brush.extent();
svg.selectAll('circle')
.classed('hidden', function(d) {
return e[0][0] > d[p.x.measure] || d[p.x.measure] > e[1][0]
|| e[0][1] > d[p.y.measure] || d[p.y.measure] > e[1][1];
});
}
//If the brush is empty, select all circles.
function brushend() {
if (brush.empty())
svg.selectAll('.hidden')
.classed('hidden', false);
}
cells.call(brush);
return scatterPlotMatrix;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment