一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python編程使用matplotlib挑鉆石seaborn畫圖入門教程

Python編程使用matplotlib挑鉆石seaborn畫圖入門教程

2022-02-17 00:27微小冷 Python

這篇文章主要為大家介紹了Python編程中使用matplotlib繪圖包來挑出完美的鉆石,本篇是seaborn包畫圖使用入門篇,有需要的朋友可以借鑒參考下

挑鉆石第二彈

seabornmatplotlib的補充包,提供了一系列高顏值的figure,并且集成了多種在線數據集,通過sns.load_dataset()進行調用,可供學習,如果網絡不穩定,可下載到本地,然后在調用的時候使用把cache設為True

 

scatter_plot

官方的示例就很不錯,繪制了diamonds數據集中的鉆石數據。diamonds中總共包含十項數據,分別是重量/克拉、切割水平、顏色、透明度、深度、table、價格以及x、y、z方向的尺寸。

我們可以先來看看xy方向的尺寸是否有一定的相關性

import seaborn as sns
import matplotlib.pyplot as plt
# 本地加載數據集
dia = sns.load_dataset("diamonds",data_home="seaborn-data", cache=True)
# 以上幾行代碼后面不再重復書寫
sns.scatterplot(x=dia["x"],y=dia["y"],size=5)
plt.show()  #用于顯示圖片,后文就不寫了

Python編程使用matplotlib挑鉆石seaborn畫圖入門教程

其中xy分別代表x軸和y軸數據,可見一般鉆石還是比較規則的。

官方畫廊繪制的圖像如下

Python編程使用matplotlib挑鉆石seaborn畫圖入門教程

這個圖的橫坐標是重量(克拉),縱坐標是價格,我們發現鉆石商人大多有強迫癥,因為2.0克拉、1.5克拉、1.0克拉這種整十整五的鉆石比周圍重量的鉆石更多。。。

f, ax = plt.subplots(figsize=(6.5, 6.5))
sns.set_theme(style="whitegrid")
sns.despine(f, left=True, bottom=True)
clarity =  ["I1", "SI2", "SI1", "VS2", "VS1", "VVS2", "VVS1", "IF"]   #顏色深淺的順序
sns.scatterplot(x="carat", y="price",         #聲明x軸和y軸的值
    hue="clarity", size="depth",  #clarity和depth分別調控顏色和尺寸
    palette="ch:rot=-.2,d=.3_r",    #調色板
    style_order=clarity,sizes=(1,10), #顏色標識的順序和尺寸范圍
    linewidth=0,data=dia, ax=ax)
plt.show()

首先,set_theme用于設置主題,其中style可以輸入字符串或者字典,可調整主題風格。

其次,palette代表顏色映射,當其輸入值為字符串時,其含義為

  縮寫 取值范圍  
start s [0,3] 漸變始點顏色
rot r   用于調控色相
gamma g 不小于0 小于1時,提高暗部;大于1時,加強高光
hue h [0,1] Saturation of the colors.
dark d [0,1] 最暗處的強度
light l [0,1] 最亮處顏色的強度

sizes用于調整點的尺寸,當設置size時,將size中的值對應到ssizes中從而繪圖。

我們注意到鉆石屬性中有一個是切割水平,那么接下來繪制一下切割水平和價格的關系。

fig, ax = plt.subplots(figsize=(6.5, 6.5))
sns.set_theme(style="whitegrid")
sns.despine(fig, left=True, bottom=True)
sns.scatterplot(data = dia, x="carat", y="price",
    style="cut",hue="cut",
    linewidth=0)
plt.show()

果然把漸變顏色去掉之后顏值狂掉,但同時可以發現,這個very good顯然不是最好的切割等級,畢竟在3.0克拉級別的鉆石中,有一顆very good級別的鉆石買到了最低價。GIA評估的鉆石等級為Excellent,Very Good,Good,Fair到最差Poor,可能在這個數據集中,ideal就代表了Excellent吧。

Python編程使用matplotlib挑鉆石seaborn畫圖入門教程

 

lmplot

如果想更準確地觀察cut對鉆石價格的影響,可以通過lmplot在散點圖的基礎上繪制一個趨勢線出來。

sns.lmplot(data=dia, x="carat", y="price",hue="cut",markers = ".")
plt.show()

Python編程使用matplotlib挑鉆石seaborn畫圖入門教程

這樣一看就發現果然ideal的鉆石是最好的。

 

jointplot

以上諸圖,都是消費者最關心的問題――價格、尺寸以及透明度等。但商家最關心的可能是價格、重量與銷售量的關系,這就涉及到一個分布的問題。而seaborn提供了一個非常好的雙變量關系圖――jointplot,效果如下

Python編程使用matplotlib挑鉆石seaborn畫圖入門教程Python編程使用matplotlib挑鉆石seaborn畫圖入門教程

可見,還是便宜的鉆石比較火爆,代碼分別為

# 左圖代碼
sns.jointplot(data=dia, x="carat", y="price",xlim=(0,3),ylim=(0,17500), ratio=10,kind="hex",color="#4CB391")
# 右圖代碼
sns.jointplot(data=dia, x="carat", y="price",hue="cut", xlim=(0,3),ylim=(0,17500), ratio=10,marker=".")

其中,kind用于更改圖像的風格,sns提供了六種風格:"scatter"   "kde"   "hist"    "hex"    "reg"     "resid"。

以上就是Python編程使用matplotlib挑鉆石seaborn畫圖入門的詳細內容,更多關于matplotlib挑鉆石seaborn畫圖入門的資料請關注服務器之家其它相關文章!

原文鏈接:https://blog.csdn.net/m0_37816922/article/details/120884878

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 色777777女人色| 日本在线观看视频网站 | 国产综合成色在线视频 | 午夜伦理 第1页 | 五月一区二区久久综合天堂 | 精品国产免费第一区二区三区日韩 | 精品免费tv久久久久久久 | 亚洲成人黄色网址 | 国产精品视频播放 | 亚洲精品国产自在现线最新 | 日本一区二区视频在线观看 | 97色综合| 天堂漫画破解版 | 国产在线成人精品 | 国产视频三区 | 欧美日韩亚洲国内综合网俺 | 波多野结衣黑人系列在线观看 | 亚洲首页国产精品丝袜 | 国产精品久久久久久久久99热 | 亚洲精品视频免费在线观看 | 国产福利片在线 易阳 | 欧美日韩一区二区三区在线视频 | 日本高清在线播放一区二区三区 | 男人天堂亚洲 | 亚洲精彩视频在线观看 | 紧致肉肉高h | 四虎4hu永久免费国产精品 | 欧美二区三区 | 日韩精品成人a在线观看 | 欧美肥b | 热辣小秘书办公室 | 女学生被老师调教在教室 | 午夜一个人在线观看完整版 | 欧美日韩一区二区三区在线播放 | 国产亚洲精品福利在线 | 四虎在线精品免费高清在线 | 2015台湾永久免费平台 | 国产一级视频久久 | 日日草视频 | 魔法满屋免费观看完整版中文 | 99福利网|