显示以间隔分隔的函数,并绘制为分段常数图

时间:2018-05-02 09:27:26

标签: r function plot ggplot2

起初我很抱歉,我不能很好地描述我的问题,希望你理解。

我所拥有的是图形中的数学函数(图片1),我想要描述的是我使用该图形的过程。 首先,我按照间隔划分整个事物,如第二张图所示。比我编写了一个迭代每个区间的程序,并在每个区间的开头调用该函数并返回粗略值和舍入值。间隔频率是为实验设定的,但可以很容易地调整。 现在我得到一组舍入数字,等于我想要在角度图中显示的区间数,如第三张图所示。

enter image description here

我不确定这三个图是否描述了我的程序,或者这是否是一个简单解决方案的常见问题。 我使用rstudio作为描述它的工具,我对ggplot2有一点经验,但如果你建议我使用不同的库或方法,我是开放的。

以下是该函数的一些示例数据(-0.06x ^ 3)+(0.43x ^ 2)-x + 3:

myTable <- "ID Data Rounded
        1     2.973  3
        2     2.976  3
        3     2.970  3
        4     2.978  3
        5     2.976  3
        6     2.973  3
        7     2.630  2.6
        8     2.630  2.6
        9     2.633  2.6
       10     2.632  2.6
       11     2.630  2.6
       12     2.273  2.3
       13     2.273  2.3
       14     2.273  2.3
       15     2.273  2.3
       16     2.179  2.2
       17     2.179  2.2
       18     2.179  2.2
       19     2.179  2.2
       20     2.179  2.2
       21     2.179  2.2
       22     2.179  2.2
       23     2.179  2.2
       24     2.179  2.2
       25     2.179  2.2
       26     2.179  2.2
       27     2.179  2.2
       28     2.179  2.2
       29     2.179  2.2
       30     2.179  2.2
       31     2.073  2.1
       32     2.073  2.1
       33     2.073  2.1
       34     2.073  2.1
       35     2.073  2.1
       36     2.073  2.1
       37     2.076  2.1
       38     2.073  2.1
       39     2.073  2.1
       40     1.886  1.9
       41     1.886  1.9
       42     1.886  1.9
       43     1.886  1.9
       44     1.886  1.9
       45     1.628  1.6
       46     1.628  1.6
       47     1.631  1.6
       48     1.628  1.6
       49     1.630  1.6
       50     1.628  1.6
       51     1.631  1.6
       52     1.631  1.6
       53     1.631  1.6"
Data <- read.table(text=myTable, header = TRUE)

1 个答案:

答案 0 :(得分:1)

如果我的理解是正确的,你想要的是绘制分段常数函数。

在这种情况下,由于您熟悉ggplot2,您可以使用geom_step()来实现它:

ggplot(Data) + geom_step(aes(x = ID, y = Rounded))

enter image description here