Build Graph Manually

Q

How to build a graph manually using the built-in graphics package?

✍: FYIcenter.com

A

You can build a graph manually using low level functions provided in built-in graphics package as show below:

> # get a sample of x-y coordinates
> sample = stats::lowess(cars)
> sample
$x
 [1]  4  4  7  7  8  9 10 10 10 11 11 12 12 12 12 13 13 13 13 ...
[32] 18 18 18 18 19 19 19 20 20 20 20 20 22 23 24 24 24 24 25

$y
 [1]  4.965459  4.965459 13.124495 13.124495 15.858633 18.579691 ...
[10] 24.129277 24.129277 27.119549 27.119549 27.119549 27.119549 ...
[19] 30.027276 32.962506 32.962506 32.962506 32.962506 36.757728 ...
[28] 40.435075 43.463492 43.463492 43.463492 46.885479 46.885479 ...
[37] 50.793152 50.793152 56.491224 56.491224 56.491224 56.491224 ...
[46] 78.643164 78.643164 78.643164 78.643164 84.328698

> typeof(sample)
[1] "list"

> # get data ranges in x-axix and y-axis
> xrange = range(sample[1])
> xrange
[1]  4 25

> yrange = range(sample[2])
> yrange
[1]  4.965459 84.328698

> # open a new graph and set the window's range
> plot.new()
> plot.window(xrange, yrange)

> # add x-axix and y-axis
> axis(1)
> axis(2)

> # draw points on x-y coordinates
> points(sample)

> # draw lines connecting x-y coordinates
> lines(sample)

> # draw a box around the window
> box()

> # add a title
> title(main="My Graph", sub="(First Test)")

> # add labels on x-axix and y-axis
> title(xlab="Speed", ylab="Distance")

Here is what the generated graph looks like:

Use Low Level Graphics Functions
Use Low Level Graphics Functions

 

R Software Environment - Frequently Asked Questions

plot() on Function

Built-in Graphics Package in R Environment

⇑⇑ R Software Environment - Frequently Asked Questions

2023-03-17, 315🔥, 0💬