如何用ggplot輕松搞定太極圖

本篇文章給大家分享的是有關(guān)如何用ggplot輕松搞定太極圖,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

我們提供的服務(wù)有:網(wǎng)站制作、做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、天元ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的天元網(wǎng)站制作公司

ggplot的圖層語法給了使用者無限種可能,再配合上自己對于數(shù)據(jù)操縱的靈活把控,真的不知道ggplot可以給我們呈現(xiàn)出什么的驚艷作品。

這不,清明假期無聊的我,用ggplot搞定了太極陰陽圖。

library("ggplot2")

library(Cairo)

library(ggmap)

太極圖的構(gòu)造理念相當(dāng)簡單,取笛卡爾坐標(biāo)系的0點(diǎn)為圓心,其他 所有元素都是圍繞零點(diǎn)圓心的坐標(biāo)構(gòu)成。

  • 該圖涉及到一個大圓環(huán);

  • 兩個大半圓面積圖(太極的上下黑白部分);

  • 兩個小半圓面積圖(太極的左右次半圓);

  • 以及陰陽魚的黑白小圓(這里沒有構(gòu)造數(shù)據(jù)而是通過實(shí)心圓點(diǎn)來表示的)。

以下是數(shù)據(jù)構(gòu)造過程:

bigcirclex<-seq(from=-1000,to=1000,length=10000)

bigcirclex<-c(bigcirclex,rev(bigcirclex))

太極圖X軸橫坐標(biāo)

bigcircley<-c(sqrt(1000000-bigcirclex^2),-sqrt(1000000-bigcirclex^2))

#Y軸縱坐標(biāo)

這里的

upcirclex<-bigcirclex[1:10000]

upcircley<-bigcircley[1:10000]

downcirclex<-bigcirclex[1:10000]

downcircley<--bigcircley[1:10000]

上下次半圓的橫縱坐標(biāo)

左右小圓的橫縱坐標(biāo)

leftcirlex<-seq(from=-1000,to=0,length=1000)

leftcirley<-sqrt(250000-(leftcirlex+500)^2)

rightcirclex<-seq(from=0,to=1000,length=1000)                

rightcircley<-sqrt(250000-(rightcirclex-500)^2)

作圖函數(shù):

setwd("F:/數(shù)據(jù)可視化/R/R語言學(xué)習(xí)筆記/可視化/ggplot2/商務(wù)圖表")

CairoPNG(file="taiji.png",width=1000,height=1000)

ggplot(data=NULL)+

geom_area(aes(upcirclex,upcircley),fill="white",col=NA)+

geom_area(aes(downcirclex,downcircley),fill="black",col=NA)+

geom_area(aes(leftcirlex,-leftcirley),fill="white",col=NA)+

geom_area(aes(rightcirclex,rightcircley),fill="black",col=NA)+

coord_flip()+

annotate("text",x=-500,y=0,label="●", color= "black", size=80)+

annotate("text",x=500,y=0,label="●", color= "white", size=80)+

geom_path(aes(bigcirclex,bigcircley),col="grey60")+

theme_nothing()

dev.off()

如何用ggplot輕松搞定太極圖

以上就是如何用ggplot輕松搞定太極圖,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

標(biāo)題名稱:如何用ggplot輕松搞定太極圖
標(biāo)題路徑:http://www.muchs.cn/article14/ijssde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)網(wǎng)站排名、移動網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)公司、微信小程序網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化