我是靠谱客的博主 风趣衬衫,最近开发中收集的这篇文章主要介绍matlab 自定义直方图匹配_化学专业研究生眼中的数据处理:Seaborn中一些或许必要的自定义...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

9496899f2202dc31e240d5b61f734414.png

最近才开始使用seaborn进行科技论文的结果可视化。相较于之前通常使用的Matlab、 Origin、Excel,感觉画图的逻辑差别还是比较大的。在介绍Seaborn 的一些自定义之前,我首先简单对比一下这几种绘图软件。

2335d0f9e862ce2e1fde1db94a323042.png

通过比较可知,在短期内,对我而言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中一些或许必要的自定义...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部