Seaborn - 可视化数据

Seaborn - 可视化数据 首页 / Seaborn入门教程 / Seaborn - 可视化数据

可视化数据是一个步骤,进一步使可视化数据更令人愉悦是另一步骤,可视化在向观众传达见解以吸引他们的注意力起着至关重要的作用。

Matplotlib库高度支持自定义,但是要知道要调整哪些设置才能获得引人入胜的预期图,与Matplotlib不同,Seaborn带有自定义主题和高级界面,用于自定义和控制Matplotlib图形的外观。

import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
   x=np.linspace(0, 14, 100)
   for i in range(1, 5): 
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
sinplot()
plt.show()

这是使用默认Matplotlib的情节的样子-

链接:https://www.learnfk.comhttps://www.learnfk.com/seaborn/seaborn-figure-aesthetic.html

来源:LearnFk无涯教程网

matplotlib

要将相同的图更改为Seaborn默认值,请使用 set()函数-

import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
   x=np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set()
sinplot()
plt.show()
output

上面两个图显示了默认Matplotlib图和Seaborn图的差异,数据的表示形式相同,但是两者的表示方式不同。

基本上,Seaborn将Matplotlib参数分为两组-

  • Plot styles
  • Plot scale

主题样式

操纵样式的界面是 set_style,使用此函数可以设置绘图的主题,根据最新的更新版本,以下是五个可用的主题。

  • Darkgrid
  • Whitegrid
  • Dark
  • White
  • Ticks

让无涯教程尝试应用上述列表中的主题,该图的默认主题为 darkgrid ,在前面的示例中已经看到过。

import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
   x=np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("whitegrid")
sinplot()
plt.show()
Darkside

  上面两个图的区别是背景颜色

移除刻度

在白色和刻度主题中,无涯教程可以使用 despine函数进行删除。

import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
   x=np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("white")
sinplot()
sb.despine()
plt.show()
Spines

覆盖元素

如果要自定义Seaborn样式,可以将参数字典传递给 set_style函数。使用 axes_style()函数查看可用的参数。

import seaborn as sb
print sb.axes_style
{'axes.axisbelow'     : False,
'axes.edgecolor'      : 'white',
'axes.facecolor'      : '#EAEAF2',
'axes.grid'           : True,
'axes.labelcolor'     : '.15',
'axes.linewidth'      : 0.0,
'figure.facecolor'    : 'white',
'font.family'         : [u'sans-serif'],
'font.sans-serif'     : [u'Arial', u'Liberation  
                        Sans', u'Bitstream Vera Sans', u'sans-serif'],
'grid.color'          : 'white',
'grid.linestyle'      : u'-',
'image.cmap'          : u'Greys',
'legend.frameon'      : False,
'legend.numpoints'    : 1,
'legend.scatterpoints': 1,
'lines.solid_capstyle': u'round',
'text.color'          : '.15',
'xtick.color'         : '.15',
'xtick.direction'     : u'out',
'xtick.major.size'    : 0.0,
'xtick.minor.size'    : 0.0,
'ytick.color'         : '.15',
'ytick.direction'     : u'out',
'ytick.major.size'    : 0.0,
'ytick.minor.size'    : 0.0}

更改任何参数的值都会更改打印样式。

import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("darkgrid", {'axes.axisbelow': False})
sinplot()
sb.despine()
plt.show()
Elements

缩放绘图元素

还可以控制图元素,并可以使用set_context函数控制图的比例。有四个用于上下文的预设模板,基于相对大小,上下文命名如下

  • Paper
  • Notebook
  • Talk
  • Poster
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
   x=np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("darkgrid", {'axes.axisbelow': False})
sinplot()
sb.despine()
plt.show()
Scaling

与上述图相比,实际图的输出大小更大。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Go语言核心36讲 -〔郝林〕

Elasticsearch核心技术与实战 -〔阮一鸣〕

视觉笔记入门课 -〔高伟〕

软件设计之美 -〔郑晔〕

Linux内核技术实战课 -〔邵亚方〕

分布式金融架构课 -〔任杰〕

徐昊 · TDD项目实战70讲 -〔徐昊〕

Web 3.0入局攻略 -〔郭大治〕

Vue 3 企业级项目实战课 -〔杨文坚〕

好记忆不如烂笔头。留下您的足迹吧 :)