如何适当地使用polygon()来遮蔽绘图的置信区间并适当地缩放它以便可以看到所有内容?

时间:2015-07-17 20:04:40

标签: r data-visualization

目前,我有一个模拟数据集,描述了10种不同剂量的药物浓度 - 时间曲线,每个给药组有5次重复(“受试者”)。我试图用每个剂量的图形创建一个文件,中间浓度绘制为虚线,以及我希望用polygon()实现的阴影置信区间。

# vector with the simulated doses
dvec <- c(0.1, 0.3, 1, 3, 10, 30, 100, 300, 500, 1000)

win.metafile("indv_plot.wmf", width = 25, height = 20)
  par(mfrow = c(2, 5))

for (bb in c(1:10)) {      
 ## sumdat is a data file which has summary statistics and CI 
 dose_d <- sumdat[sumdat$DOSE == dvec[bb], ]

 plot(dose_d$TIME, dose_d$OBS_MED,
       type = "n", lty = 2, col = "black",
       xlab = "Time (hr)", ylab = "Plasma Concentration",
       main = paste("DOSE=", dvec[bb]))
  polygon(c(dose_d$TIME, rev(dose_d$TIME)), c(dose_d$LPL_MED, rev(dose_d$UPL_MED)),
          col = "salmon", border = "red")
}

运行此代码时遇到两个问题:

  1. polygon()似乎成功生成了我想要的阴影区域,但我的虚线在图表上无处可见。我如何恰当地叠加这个以便可以看到两者?
  2. .wmf文件中,y轴极具误导性(缩放以使10个图形中的每一个看起来几乎相同!)并切断部分阴影区域,这样您就再也看不到曲线的峰值。如何修复此缩放?请注意,剂量范围为10k倍。
  3. enter image description here

    编辑:以下是我正在使用的电子表格示例,其数字与我正在使用的数字略有不同。

    DOSE    TIME    OBS_MED     LPL_MED     UPL_MED
    0.1     0.25    0.00133825  0.001223836 0.002291141
    0.1     0.5     0.001747625 0.002151059 0.003686252
    0.1        1    0.00308325  0.003017057 0.005157501
    0.1        2    0.003539375 0.003388839 0.005425594
    0.1        3    0.002771875 0.003205603 0.004896142
    0.1        5    0.002286875 0.002368057 0.003719701
    0.1        7    0.0020495   0.00164708  0.002937914
    0.1       12    0.001414625 0.000644596 0.001710477
    30       0.25   0.760858151 0.275588118 0.470376128
    30        0.5   0.749280163 0.468870272 0.774292746
    30         1    1.264732715 0.677246853 1.069407039
    30         2    1.219044091 0.769589233 1.148778861
    30         3    1.084113451 0.70481485  1.06030292
    30         5    1.014486376 0.527557896 0.791142911
    30         7    0.600676092 0.368193808 0.610086631
    30        12    0.287301205 0.138354359 0.371749849
    

1 个答案:

答案 0 :(得分:1)

  1. 在绘制线条后调用多边形进行绘制。如果没有多边形填充的透明度,您将无法看到该线条。首先绘制多边形。

  2. 您依赖于绘图功能所做的自动轴选择,这些选择基于线的限制而不是多边形。您可以根据需要指定自己的限制,如手册页中所述。