当前位置:网站首页>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')
边栏推荐
猜你喜欢
Talk about the realization of authority control and transaction record function of SAP system
数据中台落地实施之法
AutoLISP series (2): function function 2
Horizontal and vertical centering method and compatibility
如何选择合适的自动化测试工具?
The difference and working principle between compiler and interpreter
作为Android开发程序员,android高级面试
skimage学习(3)——使灰度滤镜适应 RGB 图像、免疫组化染色分离颜色、过滤区域最大值
SlashData开发者工具榜首等你而定!!!
字节跳动Android金三银四解析,android面试题app
随机推荐
A tour of gRPC:03 - proto序列化/反序列化
C语言进阶——函数指针
Personal notes of graphics (3)
Skimage learning (3) -- gamma and log contrast adjustment, histogram equalization, coloring gray images
LeetCode 300. 最长递增子序列 每日一题
Sqlserver2014+: create indexes while creating tables
LeetCode 1981. 最小化目标值与所选元素的差 每日一题
Find tags in prefab in unity editing mode
LeetCode 1155. 掷骰子的N种方法 每日一题
[C language] question set of X
Master this set of refined Android advanced interview questions analysis, oppoandroid interview questions
ByteDance Android gold, silver and four analysis, Android interview question app
作为Android开发程序员,android高级面试
网关Gateway的介绍与使用
Three. JS series (3): porting shaders in shadertoy
Have fun | latest progress of "spacecraft program" activities
一文读懂数仓中的pg_stat
Personal notes of graphics (2)
LeetCode-SQL第一天
谈谈 SAP 系统的权限管控和事务记录功能的实现