R語言——一個簡單的畫圖示例

作為考完試後神清氣爽的本人,後續恐怕要開始無限放水了

R語言——一個簡單的畫圖示例

今天就給個灰常簡單但又有點好玩的例子,這個實例出現在了R軟件的幫助文件裡,函數text

R語言——一個簡單的畫圖示例

text本身是用來在已有的圖上添加文本用的,按理來說應該不算是個複雜的函數,但這個示例一下子就擊穿了本人的理解,這兩行寫成這樣是像幹嘛???

首先第一行plot,這個畫出來倒是很簡潔,因為它就是個空白的圖,兩個-1:1的取值範圍只限制了這個圖的座標系大小

R語言——一個簡單的畫圖示例

第二行前半截K

但如果第二行代碼貼上執行一下,就畫出來了下邊這種效果

K

R語言——一個簡單的畫圖示例

我勒個去,這效果真是槓槓的,但這是個啥意思咧?還是分解下步驟吧,重點是text裡的前半截

R語言——一個簡單的畫圖示例

可以看到,這玩意是個複數數列,相當於在一個數裡同時包括了x軸和y軸的座標信息

這樣表示出來的意思就是,第一個點在圖上的位置是x為0.924,y為0.383,這跟上圖中1顯示的那個地方倒是對得上的

但是,這行裡沒指定顯示什麼文字啊?它怎麼自動跳出1到16這串數的?然後我看了看上頭的參數介紹,找到了它的默認值

labels = seq_along(x$x)

R語言——一個簡單的畫圖示例

查到seq_along之後,我大概理解這東西取的是向量當前的位置序號

那按這個邏輯的話,是不是隻要輸入任意複數列,就可以隨便畫了呢,清個屏稍稍嘗試下

R語言——一個簡單的畫圖示例

plot還是那個plot,大白牆還是那個大白牆,字的顏色設了個有點騷的彩虹色10號,效果如下:

R語言——一個簡單的畫圖示例

哈哈哈,挺好玩的嘛,那只有這個text可以這麼玩麼?畫線的那個lines能不能也這麼幹?

我試試哈

K=16; lines(exp(1i * 2 * pi * (1:K+1) / K), col = 2)

R語言——一個簡單的畫圖示例

事實證明,可以,但因為連接所有點的是直線,所以畫出來的是個十六邊形

說好了簡單點,所以就這些先,我還要看電視呢~


分享到:


相關文章: