使用seaborn設置圖像顯示效果參數

前言

Seaborn其實是在matplotlib的基礎上進行了更高級的API封裝,從而使得作圖更加容易,並且更加炫酷。

demo

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pandas import Series, DataFrame
import seaborn as sns

x = np.linspace(0, 14, 100)
y1 = np.sin(x)
y2 = np.sin(x+2) * 1.25

style = ['darkgrid', 'dark', 'white', 'whitegrid', 'ticks']

# 1. axes_style and set_style

sns.set_style(style[0])
#print( sns.axes_style() )
''' 可以設置一些 顯示 細節
{'xtick.color': '.15', 
'font.family': ['sans-serif'], 
'lines.solid_capstyle': 'round', 
'ytick.left': False, 
'axes.axisbelow': True, 
'font.sans-serif': ['Arial', 'DejaVu Sans', 'Liberation Sans', 'Bitstream Vera Sans', 'sans-serif'], 
'axes.spines.left': True, 
'image.cmap': 'rocket', 
'grid.color': 'white', 
'axes.edgecolor': 'white', 
'text.color': '.15', 
'axes.grid': True, 
'xtick.top': False, 
'xtick.direction': 'out', 
'patch.edgecolor': 'w', 
'axes.spines.bottom': True, 
'figure.facecolor': 'white', 
'axes.spines.right': True, 
'axes.spines.top': True, 
'grid.linestyle': '-', 
'ytick.color': '.15', 
'axes.facecolor': '#EAEAF2', 
'patch.force_edgecolor': True, 
'ytick.right': False, 
'axes.labelcolor': '.15', 
'xtick.bottom': False, 
'ytick.direction': 'out'}

'''
# 使用方法如下
sns.set_style(style[0], {'grid.color': 'red',})
# 作爲一個字典 傳入,顯示的背景網格就是紅色的

sns.set() # 可以清空所有樣式
sns.lineplot(x, y1)
sns.lineplot(x, y2)

plt.show() # 圖1


# 2. plotting_context() and set_context()
context = ['paper', 'notebook', 'talk', 'poster']
sns.set_context(context[0], rc = {'grid.linewidth': 3.0}) # 設置整個表的風格
# 同樣,可以使用 sns.set() 進行樣式的取消

sns.lineplot(x, y1)
sns.lineplot(x, y2)

plt.show() # 圖2

# 可以看出,進入seaborn之後,使用plt也可以輸出和seaborn一樣的效果
plt.plot(x, y1)
plt.show() # 圖3

畫圖如下:
圖1:
在這裏插入圖片描述
圖2:
在這裏插入圖片描述
圖3:
在這裏插入圖片描述

可以看到seaborn的畫圖操作成爲簡單,並且更爲美觀。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章