我们的数据可视化课程已经上线啦!!目前课程的主要方向是 科研、统计、地理相关的学术性图形绘制方法,后续也会增加商务插图、机器学等、数据分析等方面的课程。课程免费新增,这点绝对良心!
我们第一个数据可视化交流圈子也已经上线了,主要以我的第一本书籍《科研论文配图绘制指南-基于Python》为基础进行拓展,提供「课堂式」教学视频,还有更多拓展内容,可视化技巧远超书籍本身,书籍修正和新增都会分享到圈子里面~~
参与课程或者圈子的你将获取到:学员答疑、可视化资源分享、可视化技巧补充、可视化业务代做(学员和甲方对接)、副业交流、提升认知等等。
之前有学员咨询:
如何调整图形中文本标签的大小呢?有的标签过大遮住了关键信息了.....
其实这个问题在需要有文本标注的图形中经常遇到,在文本数量较多且图形布局较为拥挤时,大部分制作者选择使用图片处理工具如AI等,进行单独的文本添加。
该方法虽然能个性化定制文本标签,但在制图效率或者有文本属性映射的绘制要求下,就显得非常不讨好。
那么,有没有一种绘图方法可以直接调整多个文本标签的大小和布局呢?让图形中的每一部分文本都能完整显示且不影响图层属性呢?
下面,小编就给大家介绍一个好用的文本处理工具-「ggfittext」,该工具可以让你在使用ggplot2绘图中绘制一些文本自动调整文字大小后在区域内显示。
这一部分,我们介绍一下ggfittext包中的geom_fit_text() 函数的各种绘图案例,如下:
library(ggplot2)
library(ggfittext)
ggplot(animals, aes(x = type, y = flies, label = animal)) +
geom_tile(fill = "white", colour = "black") +
geom_fit_text()
Fitting text inside a box
ggplot(animals, aes(x = type, y = flies, label = animal)) +
geom_tile(fill = "white", colour = "black") +
geom_fit_text(reflow = TRUE)
Reflowing text
ggplot(animals, aes(x = type, y = flies, label = animal)) +
geom_tile(fill = "white", colour = "black") +
geom_fit_text(reflow = TRUE, grow = TRUE)
Growing text
使用geom_bar_text()函数就可以在柱形图中自动添加文本属性,如下:
ggplot(altitudes, aes(x = craft, y = altitude, label = altitude)) +
geom_col() +
geom_bar_text()
Bar plots
ggplot(beverages, aes(x = beverage, y = proportion, label = ingredient,
fill = ingredient)) +
geom_col(position = "stack") +
geom_bar_text(position = "stack", reflow = TRUE)
position = "stack"
position = "dodge"
ggplot(gold, aes(xmin = xmin, xmax = xmax, ymin = ymin, ymax = ymax,
fill = linenumber, label = line)) +
coord_polar() +
geom_rect() +
geom_fit_text(min.size = 0, grow = TRUE) +
scale_fill_gradient(low = "#fee391", high = "#238443")
min.size = 0, grow = TRUE
「PS」:这个方法在一些好看的商务图表中经常出现,也是我们接下来推出的商务插图绘制课程中的常见的可视化案例。
geom_fit_text()函数中的contrast(对比度)参数,可以用来自动反转文字的颜色,使其与背景填充(fill)形成对比:
ggplot(animals, aes(x = type, y = flies, fill = mass, label = animal)) +
geom_tile() +
geom_fit_text(reflow = TRUE, grow = TRUE, contrast = TRUE)
contrast = TRUE
更多关于ggfittext工具的使用语法和可视化案例,可参考ggfittext官网[1]
可视化学习圈子是书籍「科研论文配图绘制指南-基于Python」一书的学下圈子:主要通过以下几个方面,给大家带来比纸质书籍更丰富的学习内容:
「PS」:我们直播教学内容为课堂式教学,原作者带着大家对书籍一章、一节、一页的进行教学。而且直播的视频都会通过剪辑后整理成课程,圈子中的同学可以免费、反复观看。当然,新增内容和定期答疑,直播也是如此。
微信扫码下方二维码即可参与我们的书籍学习圈子啦:
微信扫码即可加入学习圈子
当然,在学习数据可视化的道路上,你也有很多问题得不到解答,也可以加入我们的可视化课程(可视化系列课程推文)后,在学员群里和大家一起谈论,一起进步,或者直接向我提问。如果我觉得你的问题很具有普适性,我会把它写成文章发布在公众号上,让更多人看到,有关我们数据可视化系列课程的服务内容,可以参考下面的 阅读原文。
不是?!这种图一行代码就搞定了,超简单....
这图这么多人问!?赶紧给大家复现出来~~..
ggpubr!一键绘制出版级论文配图,绘图小白福音......
tidyterra!空间数据处理、可视化神器...
Antarctic-Plots!不用ArcGIS,我照样可以画出惊艳的地图...
比Matplotlib合并子图更方便!patchworklib让我告别PS拼图...
Xarray,不用ArcGIS,所有地理空间绘图全搞定...
Nature都推荐的箱线图(Boxplot)绘制工具长啥样?免费、在线、灵活操作...?
完美解决Matplotlib绘图中、英文字体混显问题..
MATLAB绘图不好看?!不是,你是还没发现这几个工具包吧..
不是,这个地理数据工具这么强的吗?数据处理、可视化它都行..
这种环形图太难画?!带你一行代码搞定..
不是,这封面图这么多人问的吗?教程来了
不用Seaborn,这个工具也能绘制超炫的统计图形···
NetworkX,网络结构图最强绘制工具·····