千家信息网

如何用ggplot轻松搞定太极图

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇文章给大家分享的是有关如何用ggplot轻松搞定太极图,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。ggplot的图层语法给了使用者
千家信息网最后更新 2026年11月01日如何用ggplot轻松搞定太极图

本篇文章给大家分享的是有关如何用ggplot轻松搞定太极图,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

ggplot的图层语法给了使用者无限种可能,再配合上自己对于数据操纵的灵活把控,真的不知道ggplot可以给我们呈现出什么的惊艳作品。

这不,清明假期无聊的我,用ggplot搞定了太极阴阳图。

library("ggplot2")

library(Cairo)

library(ggmap)

太极图的构造理念相当简单,取笛卡尔坐标系的0点为圆心,其他 所有元素都是围绕零点圆心的坐标构成。

  • 该图涉及到一个大圆环;

  • 两个大半圆面积图(太极的上下黑白部分);

  • 两个小半圆面积图(太极的左右次半圆);

  • 以及阴阳鱼的黑白小圆(这里没有构造数据而是通过实心圆点来表示的)。

以下是数据构造过程:

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

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

太极图X轴横坐标

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

#Y轴纵坐标

这里的

upcirclex<-bigcirclex[1:10000]

upcircley<-bigcircley[1:10000]

downcirclex<-bigcirclex[1:10000]

downcircley<--bigcircley[1:10000]

上下次半圆的横纵坐标

左右小圆的横纵坐标

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)

作图函数:

setwd("F:/数据可视化/R/R语言学习笔记/可视化/ggplot2/商务图表")

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轻松搞定太极图,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

太极 太极图 半圆 数据 纵坐标 两个 圆心 坐标 更多 知识 篇文章 部分 阴阳 面积 黑白 小圆 可视化 学习 实用 无聊 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 新华互联网科技 互联网科技公司华为 科技平台互联网 互联网科技社 未来的互联网科技 融势互联网科技 广州善班互联网科技 上海卓越科技 互联网 富国互联网科技创新基金 受益于互联网科技的高速发展 互联网为啥属于高科技 天津腾达互联网科技有限公司 上海创道互联网络科技有限公司 郑州欣桑互联网科技有限公司 2021世界互联网领先科技成果发布 新氧科技和美国互联网有关系吗 抖集互联网科技技术咨询 互联网科技企业商标注意事项 版纳互联网科技选哪家 小牛互联网科技有限公司地址 云信互联网科技有限公司 互联网科技金融 互联网金融与金融科技 致聘互联网科技 盛创互联网科技有限公司 玖二柒互联网科技公司待遇 宁波青枫互联网科技有限公司 河南住房之家互联网科技 普陀区互联网教育科技管理办法 科技互联网公司两年变化
0