I would like to visualize a 2000*100 matrix to find how different variables change based on values. Can you suggest a way doing it using R or Matlab?

I have data from patients who use an ECG device every night and through the night, the machine records several different variables as critical points. So, I would like to see how these variables change between days. I have data for almost 200 days for each patient (200 rows with almost 100 variables accessed every night). And I have 7 different patients.

  • 1
    $\begingroup$ What does visualize a matrix mean? $\endgroup$ May 4, 2017 at 20:43
  • $\begingroup$ @MichaelChernick: See these numbers in a .csv in a graph or a graphical representation or maybe a sparse matrix?. $\endgroup$
    – Praveen
    May 4, 2017 at 20:47
  • $\begingroup$ If you could view 200,000 numbers in one view maybe that would be a visualization. But what graphical methods can you use? $\endgroup$ May 4, 2017 at 20:52
  • $\begingroup$ @MichaelChernick: Alright. I wanted to cross correlate each variable in the matrix with the other. So, typically, I would like to see how different variables affect the performance of these rows. $\endgroup$
    – Praveen
    May 4, 2017 at 20:58
  • 1
    $\begingroup$ If you would describe the meaning of this matrix more clearly, and explain how it might be related to "variables" and "values," and tell us what "change" means, we ought to be able to suggest effective ways to visualize it. $\endgroup$
    – whuber
    May 5, 2017 at 1:12

1 Answer 1


If you are interested in comparing the data variation shape between the different indicators (and lose the benefit of having x and y axes as guides for identifying the individual data points), a good way to visualise such volumes of data is to use sparklines.

However, good luck comparing the shape of 100 sparklines manually per patient, though, if they are well designed and sorted in a meaningful way, you can reduce the manual burden a lot.

This stackoverflow post and this cross-validated post should provide a starting point for an R implementation.

IMO it is best is to use a javascript library such as d3.js (see this example) for this because you can add interaction to the sparklines.

  • $\begingroup$ It looks nice but how does it apply for my big pool of data? My dataset is very large with several rows and columns. Advise. $\endgroup$
    – Praveen
    May 31, 2017 at 18:16
  • $\begingroup$ Well the way I've understood your data set, each row represents a day of data by patient. Each day per indicator per patient becomes a point in a sparkline. So, one sparkline per indicator per patient, i.e. 50-100 sparklines by patient. That's not really big data. But, you could think about feature aggregation or selection. Sparklines are by design high density data displays. $\endgroup$
    – g3o2
    May 31, 2017 at 20:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.