进行研究时,选择图像模式一般很容易,说实话:向团队或客户传达图像模式有时要困难得多。 不仅很难用外行术语解释某些图像模式(尝试向非数学家解释一个数学符号),而且有时,您还需要试图表示对各种模式需要依赖的条件……怎么说呢? 图表对于我们研究人员至关重要,因此我们需要它们能够很好地传达我们的意思。 如果没有这些,我们的知识和发现所承担的责任要轻得多,但图表仍然具有最佳的视觉效果,所以我们需要确保图表可以尽可能地传达我们的发现。 在下面,我将讨论Seaborn以及为什么我相对于其他第三方库更喜欢它。 我还将给出我经常使用的3张图表。 令人惊讶的是,流行的Python图表库很少而且功能相差甚远,因为很难进行一刀切的设置:认为Matplotlib旨在反映Matlab输出和ggplot,与R语言中的绘图方式相似。 关于为什么我更喜欢Seaborn而不是其他第三方库的原因: 最重要的是,研究人员通常需要花费大量时间来绘制分布图,如果不能轻松地绘制分布图,则您的绘制程序包实际上是多余的。 Seaborn绘制直方图很方便,而KDE与其他软件包确实很难做到(Plotly例外)。 最后,Seaborn涵盖了所有设计方面的内容,这使您(研究人员)有更多的时间进行研究。 Matplotlib的视觉效果很不好,Chartify太难以使用,我都不太喜欢。 如果您发现了一个随机变量,其分布有一定规律,那么Seaborn的调度功能将非常有用。 通过显示以下内容有助于传达图片特征: 网格线和清晰的字体颜色(漂亮的半透明的蓝色)可提供简单有效的服务! 在这里,我们尝试传达更多更复杂的动态信息。 我们有两个我们认为应该关联的变量,但是如何可视化这种关系呢? 图表两个侧面分布非常适合从视觉上观察边缘分布,而面积图非常适合识别密度较大的区域。 我在研究和文章中都使用了这种图,因为它使我能够将单变量动力学(带有内核图)和联合动力学保持在我的思想和观察的最前沿:所有这些都在传达我所经历的思考。 在分层讨论方面非常有用,我强烈建议您使用。 分布图的问题在于,它们常常会被异常值扭曲,除非您知道这些异常值存在并且进行处理。 箱形图得到了广泛的使用,它是一种显示可靠的指标的有效方法,例如中位数和四分位数范围,它们对于异常值(由于其较高的分解点)具有更大的弹性, Seaborn的箱形图实施方式看起来很棒,因为它可以突出显示多个维度来传达一个相当复杂的指标,同时,其视觉效果也足以适合学术期刊。 此外,Seaborn还出色地完成了提高代码效率的工作,从而使研究人员不必花时间来使代码可读。 同时识别和讨论多种功能和模式对于您的研究成功至关重要,因此,我强烈建议您使用此图表。 同时,您需要确保将图表定位到您的受众群体! 在上面的文章中,我广泛讨论了为什么对我来说Seaborn是最好的绘图程序包,并给出了我使用的3个图表示例。 我坚信以一种容易理解的方式传达信息:文字越少越好! 坚持才是关键! 这些图表使您轻松地做到这一点,因此,如果您是视觉研究员,或者如果您喜欢看全局,那么Seaborn就适合您。 再次感谢,如果您有任何疑问,请告诉我! 以下代码段是用于创建上面很棒的图表的简单代码段! 图0:子图 图1:单变量分布 图2:联合分布 图3:多变量联合分布 图4:箱形图和晶须图 作者:Sohaib Ahmad 翻译:孟翔杰为什么选择Seaborn
单变量分布图
联合分布
箱形图和晶须图
代码
import seaborn as sns df = sns.load_dataset(“iris”) sns.pairplot(df, hue=”species”)
x = np.random.normal(size=100) sns.distplot(x);
mean, cov = [0, 1], [(1, .5), (.5, 1)] data = np.random.multivariate_normal(mean, cov, 200) df = pd.DataFrame(data, columns=["x", "y"]) sns.jointplot(x="x", y="y", data=df, kind="kde");
iris = sns.load_dataset('iris') g = sns.PairGrid(iris) g.map_diag(sns.kdeplot) g.map_offdiag(sns.kdeplot, n_levels=6);
import seaborn as sns import matplotlib.pyplot as pltsns.set(style="ticks")# Initialize the figure with a logarithmic x axis f, ax = plt.subplots(figsize=(7, 6)) ax.set_xscale("log")# Load the example planets dataset planets = sns.load_dataset("planets")# Plot the orbital period with horizontal boxes sns.boxplot(x="distance", y="method", data=planets,whis="range", palette="vlag")# Add in points to show each observation sns.swarmplot(x="distance", y="method", data=planets,size=2, color=".3", linewidth=0)# Tweak the visual presentation ax.xaxis.grid(True) ax.set(ylabel="") sns.despine(trim=True, left=True)
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算