matplotlib画图与seaborn

Matplotlib常用的可视化作图

1、散点图

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

#数据准备
N = 1000
x = np.random.randn(N)
y = np.random.randn(N)
#用matplotlib画散点图
plt.scatter(x,y,marker='x')
plt.show()
#用seaborn画散点图
df = pd.DataFrame({'x':x,'y':y})
sns.jointplot(x='x',y='y',data=df,kind='scatter')
plt.show()

image-20210627133350491

image-20210627133503726

2、折线图

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

#数据准备
x = [i for i in range(2010,2022)]
y = [i for i in range(12)]
#使用matplotlib作图
plt.plot(x,y)
plt.show()
#使用seaborn作图
df = pd.DataFrame({'x':x,'y':y})
sns.lineplot(x='x',y='y',data=df)
plt.show()

image-20210627133840205

image-20210627133854341

3、直方图

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

#数据准备
a = np.random.randn(100)
s = pd.Series(a)
#使用matplotlib作图
plt.hist(s)
plt.show()
#使用seaborn作图
sns.distplot(s,kde=False)
plt.show()
sns.distplot(s,kde=True)
plt.show()

image-20210627134125765

image-20210627134148553

image-20210627134159929

4、条形图

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

#数据准备
x = ['Cat1','Cat2','Cat3','Cat4','Cat5']
y = [5,4,8,12,7]
#使用matplotlib作图
plt.bar(x,y)
plt.show()
#使用seaborn作图
sns.barplot(x,y)
plt.show()

image-20210627134409311

image-20210627134420283

5、箱线图

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

#数据准备
data = np.random.normal(size=(10,4))
labels = ['A','B','C','D']
#使用matplotlib作图
plt.boxplot(data,labels=labels)
plt.show()
#使用seaborn作图
df = pd.DataFrame(data,columns=labels)
sns.boxplot(data=df)
plt.show()

image-20210627135225662

image-20210627151124173

6、饼图

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

#数据准备
nums = [25,37,33,37,6]
labels = ['High-school','Bachelor','Master','Ph.d','Others']
#使用matplotlib作图
plt.pie(x=nums,labels=labels)
plt.show()

image-20210627151357839

7、热力图

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

#数据准备
flights = sns.load_dataset('flights')
data = flights.pivot('year','month','passengers')
#使用seaborn作图
sns.heatmap(data)
plt.show()

image-20210627151708071

8、雷达图

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from matplotlib.font_manager import FontProperties
#数据准备
labels = np.array([u'推进','KDA',u'生存',u'团战',u'发育',u'输出'])
stats = [83,61,95,67,76,88]
#画图数据准备,角度,状态值
angles = np.linspace(0,2*np.pi,len(labels),endpoint=False)
stats = np.concatenate((stats,[stats[0]]))
angles = np.concatenate((angles,[angles[0]]))
#使用matplotlib作图
fig = plt.figure()
ax = fig.add_subplot(111,polar=True)
ax.plot(angles,stats,'o-',linewidth=2)
ax.fill(angles,stats,alpha=0.25)
#设置中文字体
font = FontProperties(fname=r'C:\Windows\Fonts\simhei.ttf',size=14)
ax.set_thetagrids(angles * 180/np.pi,labels,FontProperties=font)
plt.show()

image-20210627152532380

9、二元变量分布

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from matplotlib.font_manager import FontProperties
#数据准备
tips = sns.load_dataset('tips')
sns.jointplot(x='total_bill',y='tip',data=tips,kind='scatter')
sns.jointplot(x='total_bill',y='tip',data=tips,kind='kde')
sns.jointplot(x='total_bill',y='tip',data=tips,kind='hex')
plt.show()
#kind=scatter代表的是散点图
#Kind=kde代表的是核密度图
#kind=hex代表的是直方图的二维模拟

image-20210627152941382

image-20210627153013493

image-20210627153021361

10、成对关系

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from matplotlib.font_manager import FontProperties
#数据准备
iris= sns.load_dataset('iris')
sns.pairplot(iris)
plt.show()
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有猫腻妖

你的鼓励是我更新的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值