可视化数据是一个步骤,进一步使可视化数据更令人愉悦是另一步骤,可视化在向观众传达见解以吸引他们的注意力起着至关重要的作用。
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无涯教程网
要将相同的图更改为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()
上面两个图显示了默认Matplotlib图和Seaborn图的差异,数据的表示形式相同,但是两者的表示方式不同。
基本上,Seaborn将Matplotlib参数分为两组-
操纵样式的界面是 set_style,使用此函数可以设置绘图的主题,根据最新的更新版本,以下是五个可用的主题。
让无涯教程尝试应用上述列表中的主题,该图的默认主题为 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()
上面两个图的区别是背景颜色
在白色和刻度主题中,无涯教程可以使用 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()
如果要自定义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()
还可以控制图元素,并可以使用set_context函数控制图的比例。有四个用于上下文的预设模板,基于相对大小,上下文命名如下
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()
与上述图相比,实际图的输出大小更大。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)