我们的数据可视化课程已经上线啦!!目前课程的主要方向是 科研、统计、地理相关的学术性图形绘制方法,后续也会增加商务插图、机器学等、数据分析等方面的课程。课程免费新增,这点绝对良心!
我们第一个数据可视化交流圈子也已经上线了,主要以我的第一本书籍《科研论文配图绘制指南-基于Python》为基础进行拓展,提供「课堂式」教学视频,还有更多拓展内容,可视化技巧远超书籍本身,书籍修正和新增都会分享到圈子里面~~
参与课程或者圈子的你将获取到:学员答疑、可视化资源分享、可视化技巧补充、可视化业务代做(学员和甲方对接)、副业交流、提升认知等等。
之前有我们的学员咨询下面的统计图形怎么绘制?说是在学术论文中经常出现,如下:
学员反馈统计图样式
显然,这种图形最大的一个特点就是刻度轴进行了截断处理,下面我们就详细介绍一下截断刻度轴的含义和其Python绘制方法.
截断刻度轴是指在数据范围较大时,通过限制刻度轴的显示范围,只显示感兴趣的数据范围,而忽略极端值的一种处理方式。这种方法常用于数据范围差异较大的情况下,以确保图形能够清晰地展示出数据的主要特征,而不会被极端值所影响。
在绘制图形时,截断刻度轴通常与数据预处理和数据可视化相结合,以达到更好地展示数据的目的。
介绍完截断刻度轴的含义,那么我们在介绍下如何使用Python进行截断刻度轴的绘制,虽然,Matplotlib官网有介绍该样式的教程(Matplotlib截断刻度轴介绍),但其操作介绍繁琐,今天给大家介绍另外一个可视化工具- 「brokenaxes」,可以快速对Matplotlib绘图对象进行刻度轴截断操作。
可通过pip对其进行安装,如下:
pip install brokenaxes
import matplotlib.pyplot as plt
from brokenaxes import brokenaxes
import numpy as np
fig = plt.figure(figsize=(5, 2))
bax = brokenaxes(xlims=((0, .1), (.4, .7)), ylims=((-1, .7), (.79, 1)), hspace=.05)
x = np.linspace(0, 1, 100)
bax.plot(x, np.sin(10 * x), label='sin')
bax.plot(x, np.cos(10 * x), label='cos')
bax.legend(loc=3)
bax.set_xlabel('time')
bax.set_ylabel('value')
from brokenaxes import brokenaxes
from matplotlib.gridspec import GridSpec
import numpy as np
sps1, sps2 = GridSpec(2,1)
bax = brokenaxes(xlims=((.1, .3), (.7, .8)), subplot_spec=sps1)
x = np.linspace(0, 1, 100)
bax.plot(x, np.sin(x*30), ls=':', color='m')
x = np.random.poisson(3, 1000)
bax = brokenaxes(xlims=((0, 2.5), (3, 6)), subplot_spec=sps2)
bax.hist(x, histtype='bar')
多子图效果
import matplotlib.pyplot as plt
from brokenaxes import brokenaxes
import numpy as np
fig = plt.figure(figsize=(5, 5))
bax = brokenaxes(
xlims=((1, 500), (600, 10000)),
ylims=((1, 500), (600, 10000)),
hspace=.15,
xscale='log',
yscale='log',
)
x = np.logspace(0.0, 4, 100)
bax.loglog(x, x, label='$y=x=10^{0}$ to $10^{4}$')
bax.legend(loc='best')
bax.grid(axis='both', which='major', ls='-')
bax.grid(axis='both', which='minor', ls='--', alpha=0.4)
bax.set_xlabel('x')
bax.set_ylabel('y')
plt.show()
Log scales
更多关于brokenaxes库的介绍,可参考:brokenaxes官网[1]
可视化学习圈子是书籍「科研论文配图绘制指南-基于Python」一书的学下圈子:主要通过以下几个方面,给大家带来比纸质书籍更丰富的学习内容:
「PS」:我们直播教学内容为课堂式教学,原作者带着大家对书籍一章、一节、一页的进行教学。而且直播的视频都会通过剪辑后整理成课程,圈子中的同学可以免费、反复观看。当然,新增内容和定期答疑,直播也是如此。
微信扫码下方二维码即可参与我们的书籍学习圈子啦:
微信扫码即可加入学习圈子
当然,在学习数据可视化的道路上,你也有很多问题得不到解答,也可以加入我们的可视化课程(可视化系列课程推文)后,在学员群里和大家一起谈论,一起进步,或者直接向我提问。如果我觉得你的问题很具有普适性,我会把它写成文章发布在公众号上,让更多人看到,有关我们数据可视化系列课程的服务内容,可以参考下面的 阅读原文。
不是?!这种图一行代码就搞定了,超简单....
这图这么多人问!?赶紧给大家复现出来~~..
ggpubr!一键绘制出版级论文配图,绘图小白福音......
tidyterra!空间数据处理、可视化神器...
Antarctic-Plots!不用ArcGIS,我照样可以画出惊艳的地图...
比Matplotlib合并子图更方便!patchworklib让我告别PS拼图...
Xarray,不用ArcGIS,所有地理空间绘图全搞定...
Nature都推荐的箱线图(Boxplot)绘制工具长啥样?免费、在线、灵活操作...?
完美解决Matplotlib绘图中、英文字体混显问题..
MATLAB绘图不好看?!不是,你是还没发现这几个工具包吧..
不是,这个地理数据工具这么强的吗?数据处理、可视化它都行..
这种环形图太难画?!带你一行代码搞定..
不是,这封面图这么多人问的吗?教程来了
不用Seaborn,这个工具也能绘制超炫的统计图形···
NetworkX,网络结构图最强绘制工具·····
[1]
brokenaxes官网: https://github.com/bendichter/brokenaxes。