概述
最近才开始使用seaborn进行科技论文的结果可视化。相较于之前通常使用的Matlab、 Origin、Excel,感觉画图的逻辑差别还是比较大的。在介绍Seaborn 的一些自定义之前,我首先简单对比一下这几种绘图软件。
通过比较可知,在短期内,对我而言Origin是比较合适的绘图工具。但是对于一些复杂的统计作图(例如直方图、组合散点图),Origin的设置是极为繁琐的。并且其可视化效果往往需要自己调节,这对个人的审美是极大的挑战。虽然新版的Origin内建了一系列Color map,但是其最终显示效果往往还是不尽如人意。其实相对于出图的速度,图的质量是我们这些化学狗更关心的,也是我们的导师更在意的。因此我想寻找一种可编程、快速、美观的绘图方法。
于是我找到了 python,经过一番搜索,我决定学习 seaborn。理由很简单,绘图代码很简单,绘图结果比较优雅,并且能够实现一些复杂的统计作图。上面啰嗦这么多,我想说的意思就是,工具本身没有高下之分,关键是能用到合适的地方。当然掌握高级的工具也往往能令我们事半功倍。
兴冲冲安装了anaconda,也看了不少seaborn的教程帖以及视频。然而问题也是随之而来的。因为 seaborn 是在 matplotlib 基础上的封装,它很多默认格式在seaborn 里面是不能修改的,从而很多定制是不仅仅是预设,更是一种限定。然而在实际的绘图中,Seaborn 不可能是自成一体的,很多场景需要与 matlab、origin 配套使用。这就要求我们对绘图过程进行一些自定义,以完成文章中绘图风格上的统一。
下面是一些尝试,仅供参考:
(1)颜色设置:虽然seaborn内设很多cmap,但是我觉得好像还是R的ggplot2比较好看?
current_palette=["#1f77b4","#ff7f0e",'#c60f53','#d62728']
sns.set_palette(current_palette)
(2)Figure大小:其实对应的是画布
plt.figure(figsize=(18, 25))
(3)设置Seaborn风格
sns.set_style("ticks")
sns.set_context("poster")
(4)设置xy两轴长宽比
ax.set_aspect(0.25)
(5)设置坐标轴显示:通常seaborn中右边和上边是没有坐标轴的,但是个人感觉还是封闭起来好看些
sns.despine(top=False, right=False)
(6)设置坐标轴颜色以及粗细
ax.spines['bottom'].set_linewidth(1.5)
ax.spines['left'].set_linewidth(1.5)
ax.spines['right'].set_linewidth(1.5)
ax.spines['top'].set_linewidth(1.5)
ax.spines['bottom'].set_color('black')
ax.spines['top'].set_color('black')
ax.spines['left'].set_color('black')
ax.spines['right'].set_color('black')
(7)设置x,y标题以及x、y两轴范围
ax.set(xlabel="Length of elastomer (nm)",ylabel='K(KT/nm)',xlim=[-25,516],ylim=[0,1400])
(8)设置x、y两轴的minor tick
ax.xaxis.set_minor_locator(MultipleLocator(50))
ax.yaxis.set_minor_locator(MultipleLocator(125))
(9)设置图例的位置
ax.legend(loc='upper right',frameon=False,prop={'size':18})
经过一次面向导师的绘图,发现 seaborn 的封装还是比较死板的。不过因为它也向下兼容着matplotlib,所以两者结合也是可以做很多事情的。修改起来也算容易,好像有些跑题了哈哈,改的语句好像都是 matplotlib 层次的。
(10)应用Latex公示编辑(需要提前安装好,latex编译器并且将可执行程序添加到环境变量中)
plt.rc('text', usetex=Ture)
>< 对于我而言,下一步怕是要再去好好学习matplotlib了
最后
以上就是风趣衬衫为你收集整理的matlab 自定义直方图匹配_化学专业研究生眼中的数据处理:Seaborn中一些或许必要的自定义...的全部内容,希望文章能够帮你解决matlab 自定义直方图匹配_化学专业研究生眼中的数据处理:Seaborn中一些或许必要的自定义...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复