iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 19
0

導讀

前言

今天是鐵人的第19天,前一天介紹了seaborn,今天要來介紹seaborn更進一步的設定->style樣式的設定。

set_style() - 背景顏色

下面例子顯示當設定不同的style所呈現出來的風格

事先執行的程式碼

ironman_np_x = np.linspace(1, 14, 100) #產生一個1~14的等差數列
ironman_np_y1 = np.sin(ironman_np_x)
ironman_np_y2 = np.sin(ironman_np_x+2)*1.25

def drawPlot():
    plt.plot(ironman_np_x, ironman_np_y1)
    plt.plot(ironman_np_x, ironman_np_y2)
    
def drawPlotFour():
    for i in range(4):
        plt.plot(ironman_np_x, np.sin(ironman_np_x+i)*(i+0.75), label="sin(x+i)*(i+0.75)")
    plt.legend()

預設 matplotlib

drawPlot()

https://ithelp.ithome.com.tw/upload/images/20181030/20111390mJhhY96sGc.png

當設定完style之後的風格

sns.set_style('whitegrid')
drawPlot()

https://ithelp.ithome.com.tw/upload/images/20181030/20111390tZjAgqSokT.png

set_style預設有五種風格

  1. darkgrid
  2. dark
  3. whitegrid
  4. white
  5. ticks
  • 取得目前的風格
sns.axes_style()
  • 還原成初始風格
sns.set()

set_context() - 圖形大小

用於圖形大小的設置

sns.set_context('talk')
drawPlot()

https://ithelp.ithome.com.tw/upload/images/20181030/20111390zjTm6ZuXpK.png
可以看到跟原本圖形的座標顯示大小不一樣。

set_context有四種風格

  1. paper
  2. notebook
  3. talk
  4. poster
  • 取得目前的風格
sns.plotting_context()

with

在當前這個圖表設定style。以下方法來顯示兩張圖表不一樣的地方

第一個先取得預設圖型

drawPlotFour()

https://ithelp.ithome.com.tw/upload/images/20181030/2011139007kwnoPVpX.png

第二個使用with並且將style改掉

with sns.axes_style('white'):
    drawPlotFour()

https://ithelp.ithome.com.tw/upload/images/20181030/20111390L7DHWbdLx2.png
可以看到第二張圖已經被改掉了,但是如果又再一次的呼叫drawPlotFour()是不會改style

color

  • 取得目前調色板的顏色
sns.palplot(sns.color_palette())

https://ithelp.ithome.com.tw/upload/images/20181030/20111390fy0lSLpeDP.png
可以看到上面四條線的顏色就是按照調色盤的顏色依序做配對,當超過調色盤數量的顏色時,會從第一個開始循環使用。

  • 設置調色盤的顏色
sns.set_palette(sns.color_palette('bright'))

https://ithelp.ithome.com.tw/upload/images/20181030/20111390coV7CrDeww.png
畫出來的線條,顏色會比之前亮

  • 設置自己定義的調色盤
sns.color_palette([(0.45,0.72,0),(0.22,0.34,0),(0.62,1,0.32)]) # 輸入rgb

https://ithelp.ithome.com.tw/upload/images/20181030/20111390Nlw24G5orA.png

因為只有設置3個顏色,所以會有兩條重複的顏色。


上一篇
[Day18]seaborn - distplot、heatmap()
下一篇
[Day20]統計學基礎 - 平均數、中位數、眾數、平均絕對偏差
系列文
python 入門到分析股市30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言