Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Generating input data for a heat plot

    Dear friends,

    I am trying to represent 3D data in 2D. The colours on the plot would be probabilities of TB infection and on the axes, I would have time (t) and ventilation rate (Q), keeping other variables fixed.

    Probability = 1 - e^ (-Ipqt/Q) [the Wells Riley equation]

    I am wondering about using the contour plot option in twoway, which I think I am comfortable with (there is a nice video on the STATA YouTube channel). I am struggling with setting up the input data.

    I think I need a set of input data that look like this...

    1, 1
    1, 2
    1, 3
    [...]
    1, 10000
    2, 1
    2, 2
    2, 3
    [...]
    2, 10000
    [etc, all the way up to...]
    10000, 10000 [10000 hours and 10000 m3/hr]

    The third column in the dataset would then be a simple formula derived from the first two columns.

    I am not sure how well twoway would handle a 10000 x 10000 grid. I will probably have log scales on my contour plot so, ideally, would have more data points at lower values of t and Q and could afford to have a less dense grid at higher values of t and Q.

    I am sure this is very simple but I am struggling!

    Thanks,
    Tom
    Last edited by Tom Yates; 17 May 2019, 06:02.

  • #2
    I would recommend Ben Jann's -heatplot-. I think -twoway contour- with a million observations would take too long.
    Code:
    clear
    set obs 1000
    gen x = _n
    expand 1000
    bys x: gen y = _n
    gen z = runiform() 
    heatplot z x y

    Comment


    • #3
      Thanks, that is neat. I am unable to find a good help file for heatplot, though, and the twoway chart formatting options (scales, labels, etc) don't seem to work?

      Best wishes,
      Tom

      Comment

      Working...
      X