当前位置:网站首页>Seaborn data visualization
Seaborn data visualization
2022-07-07 17:02:00 【En^_^ Joy】
use Seaborn Data visualization
Seaborn And Matplotlib
Matplotlib drawing
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
plt.figure()
x = np.linspace(0, 10, 500)
y = np.cumsum(np.random.randn(500, 6), 0)
plt.plot(x, y)
plt.legend('ABCDEF', ncol=2, loc='upper left')
# display picture
plt.show()

Seaborn There are many advanced drawing functions , And you can rewrite Matplotlib Default parameters , So as to use simple Matplotlib Get better results , It can be used Seaborn Of set() Method to set the style
Other codes are the same as above , Just add and import this module and use set() function
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
sns.set()
plt.figure()
x = np.linspace(0, 10, 500)
y = np.cumsum(np.random.randn(500, 6), 0)
plt.plot(x, y)
plt.legend('ABCDEF', ncol=2, loc='upper left')
# display picture
plt.show()

Seaborn Graphic introduction
For many graphics Matplotlib Can be realized , Three uses Seaborn Will be more convenient
Frequency histogram 、KDE And density diagram
Frequency histogram
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import pandas as pd
sns.set()
plt.figure()
data = np.random.multivariate_normal([0, 0], [[5, 2], [2, 2]], size=2000)
data = pd.DataFrame(data, columns=['x', 'y'])
for col in 'xy':
plt.hist(data[col], alpha=0.5)
# display picture
plt.show()

use KDE Get the smooth evaluation of variable distribution , adopt sns.kdeplot Realization
for col in 'xy':
sns.kdeplot(data[col], shade=True)

use distplot We can make the frequency histogram and KDE Combine
for col in 'xy':
sns.distplot(data[col])

If you want to kdeplot The input is a two-dimensional data set , Then you can get a two-dimensional number visualization
sns.kdeplot(data['x'],data['y'])

use sns.jointplot You can see the joint distribution of two variables and the independent distribution of one variable at the same time , Use a white background here
with sns.axes_style('white'):
sns.jointplot("x", "y", data, kind='kde')

with sns.axes_style('white'):
sns.jointplot("x", "y", data, kind='hex')

Matrix diagram
The following is a matrix diagram of the relationship between the four variables
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import pandas as pd
sns.set()
plt.figure()
iris = sns.load_dataset("iris")
print(iris.head())
''' sepal_length sepal_width petal_length petal_width species 0 5.1 3.5 1.4 0.2 setosa 1 4.9 3.0 1.4 0.2 setosa 2 4.7 3.2 1.3 0.2 setosa 3 4.6 3.1 1.5 0.2 setosa 4 5.0 3.6 1.4 0.2 setosa '''
sns.pairplot(iris, hue='species', size=2.5)
# display picture
plt.show()

Faceted frequency histogram
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import pandas as pd
sns.set()
plt.figure()
tips = sns.load_dataset("tips")
print(tips)
''' total_bill tip sex smoker day time size 0 16.99 1.01 Female No Sun Dinner 2 1 10.34 1.66 Male No Sun Dinner 3 2 21.01 3.50 Male No Sun Dinner 3 3 23.68 3.31 Male No Sun Dinner 2 4 24.59 3.61 Female No Sun Dinner 4 .. ... ... ... ... ... ... ... 239 29.03 5.92 Male No Sat Dinner 3 240 27.18 2.00 Female Yes Sat Dinner 2 241 22.67 2.00 Male Yes Sat Dinner 2 242 17.82 1.75 Male No Sat Dinner 2 243 18.78 3.00 Female No Thur Dinner 2 [244 rows x 7 columns] '''
tips['tip_pct'] = 100*tips['tip']/tips['total_bill']
grid = sns.FacetGrid(tips, row="sex", col="time", margin_titles=True)
grid.map(plt.hist, "tip_pct", bins=np.linspace(1, 40, 15))
# display picture
plt.show()

Factor map
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import pandas as pd
sns.set()
plt.figure()
tips = sns.load_dataset("tips")
tips['tip_pct'] = 100*tips['tip']/tips['total_bill']
with sns.axes_style(style='ticks'):
g = sns.factorplot("day", "total_bill", "sex", data=tips, kind="box")
g.set_axis_labels("day", "Total Bill")
# display picture
plt.show()

Joint distribution
with sns.axes_style('white'):
sns.jointplot("total_bill", "tip", data=tips, kind='hex')

with sns.axes_style('white'):
sns.jointplot("total_bill", "tip", data=tips, kind='reg')

Bar chart :sns.factorplot Draw a bar chart
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import pandas as pd
sns.set()
plt.figure()
planets = sns.load_dataset('planets')
print(planets.head())
''' method number orbital_period mass distance year 0 Radial Velocity 1 269.300 7.10 77.40 2006 1 Radial Velocity 1 874.774 2.21 56.95 2008 2 Radial Velocity 1 763.000 2.60 19.84 2011 3 Radial Velocity 1 326.030 19.40 110.62 2007 4 Radial Velocity 1 516.220 10.50 119.47 2009 '''
with sns.axes_style('white'):
g = sns.factorplot("year", data=planets, aspect=2, kind="count", color='steelblue')
g.set_xticklabels(step=5)
# display picture
plt.show()

with sns.axes_style('white'):
g = sns.factorplot("year", data=planets, aspect=4.0, kind="count", hue='method', order=range(2001, 2015))
g.set_ylabels('Number of Planets Discovered')

边栏推荐
- LeetCode 213. 打家劫舍 II 每日一题
- 【Seaborn】组合图表:FacetGrid、JointGrid、PairGrid
- 【图像传感器】相关双采样CDS
- node:504报错
- 测试用例管理工具推荐
- 最新阿里P7技术体系,妈妈再也不用担心我找工作了
- LeetCode 120. Triangle minimum path and daily question
- 爬虫(17) - 面试(2) | 爬虫面试题库
- 值得一看,面试考点与面试技巧
- LeetCode 1774. The dessert cost closest to the target price is one question per day
猜你喜欢

Temperature sensor chip used in temperature detector

AutoLISP series (2): function function 2

掌握这个提升路径,面试资料分享

Vs2019 configuration matrix library eigen

Personal notes of graphics (3)
ByteDance Android gold, silver and four analysis, Android interview question app

Three. JS series (2): API structure diagram-2

Lowcode: four ways to help transportation companies enhance supply chain management
![[designmode] proxy pattern](/img/ed/642aebc7b49cbf4d30b517665b2438.png)
[designmode] proxy pattern

【DesignMode】外观模式 (facade patterns)
随机推荐
The latest interview experience of Android manufacturers in 2022, Android view+handler+binder
Inner monologue of accidental promotion
LeetCode 403. 青蛙过河 每日一题
node:504报错
LeetCode 1981. Minimize the difference between the target value and the selected element one question per day
【PHP】PHP接口继承及接口多继承原理与实现方法
skimage学习(2)——RGB转灰度、RGB 转 HSV、直方图匹配
运算符
Arduino 控制的双足机器人
Horizontal and vertical centering method and compatibility
A tour of gRPC:03 - proto序列化/反序列化
[designmode] proxy pattern
直接上干货,100%好评
Sort out several important Android knowledge and advanced Android development interview questions
第九届 蓝桥杯 决赛 交换次数
The process of creating custom controls in QT to encapsulating them into toolbars (II): encapsulating custom controls into toolbars
SlashData开发者工具榜首等你而定!!!
低代码(lowcode)帮助运输公司增强供应链管理的4种方式
【DesignMode】代理模式(proxy pattern)
【医学分割】attention-unet