前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >matplotlib 常用图绘制

matplotlib 常用图绘制

作者头像
AngelNH
发布2020-04-16 11:06:51
8470
发布2020-04-16 11:06:51
举报
文章被收录于专栏:AngelNIAngelNI

我的冷漠里藏着一半的害羞,一半的自卑。

通过做图表来分析数据实在是一个非常棒的方法,由于我偶尔忘记语法,还得翻之前的笔记,难受。下面就画了些常用的图,记一记,记一记。

1.折线图

import matplotlib
import matplotlib.pyplot as plt
%matplotlib inline
x1 = [1,2,3] 
y1 = [5,7,4]
x2 = [1,2,3] 
y2 =[10,14,12]
matplotlib.rcParams['font.sans-serif'] = ['SimHei']#中文显示问题
f=plt.figure(figsize=(12,10))#调整图像大小
plt.plot(x1,y1,label='First Line')
plt.plot(x2, y2, label='Second Line')

plt.xlabel("Plot Number",fontsize = 20)#x轴 标签及调整字体大小
plt.ylabel("Important var",fontsize = 20)#y轴 标签及调整字体大小
plt.title("标题", fontsize = 20)#标题
plt.legend()#显示图例

plt.xlim(0,4)#调整x轴大小
plt.ylim(0,15)#调整y轴大小
plt.grid()#添加格线

plt.show()

2.柱状图

matplotlib.rcParams['font.sans-serif'] = ['SimHei']

label_list = ["AUC","MAP","MRR","Prec","Rec","F1","NDGC","Call"]

num_list_1 = [ 0.8395789534863245,0.03947255032401116,0.4421931735657211,0.18845315904139434,0.061183509516103594,  0.07578339296217934, 0.20391161229968288, 0.5533769063180828]
num_list_2 = [0.8099706571182651, 0.07124258816665524,0.5007884899720522,0.29520697167755994,0.051690038913594256,0.07702843749844428, 0.30278346199328815,0.664488017429194]
x = range(len(num_list_1))
#f=plt.figure(figsize=(12,10))

rects_1 = plt.bar( x,height = num_list_1,width = 0.4,alpha = 0.8,color = "red",label = "MBPR")
rects_2 = plt.bar([i+0.4 for i in x],height = num_list_2,width = 0.4,alpha = 0.8,color = "blue",label = "BPR")#柱状图对比

plt.ylim(0,1)
plt.ylabel("指标")

plt.xticks([index + 0.2 for index in x], label_list)#自定义x 轴含义

plt.xlabel("模型")

plt.title("MBPR、BPR对比图")
plt.legend()

plt.show()

3.散点图

x = [1,2,3,4,5,6]
y = [1,2,3,4,5,6]
#f = plt.figure(figsize=(12,10))
plt.scatter(x,y,color="r")

4.饼图

#f=plt.figure(figsize=(12,10))
slices = [7,2,2,13]
activities = ['sleeping','eating','working','playing'] 
cols = ['c','m','r','b']
plt.pie( slices,labels=activities,colors=cols,startangle=90,shadow= True ,explode=(0,0.3,0,0),autopct='%1.1f%%')
# autopct='%1.1f%%' 百分比

5.箱式图

import seaborn as sns
#f=plt.figure(figsize=(12,10))
sns.set_style("whitegrid")
data = np.random.normal(size=(20, 6)) + np.arange(6) / 2
sns.boxplot(data=data)

6.热度图

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np; 
np.random.seed(0)
import seaborn as sns;
sns.set()

uniform_data = np.random.rand(3, 3)
#print (uniform_data)
heatmap = sns.heatmap(uniform_data)

7.子图

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-10, 10, 100)
y =2*np.cos(x)**5 + 3*np.sin(x)**3

#定义画布和子图数量
fig,axes=plt.subplots(2,3,figsize=(20,18),facecolor='#ccddef')
#添加整个画布的标题
fig.suptitle('我是最大的标题',fontsize=20)
#利用text属性添加副标题
fig.text(0.45,0.9,'这是副标题')
#折线图
axes[0][0].plot(x,y)
#柱状图
axes[0][1].bar(x,y)
#直方图
axes[0][2].hist(y,bins=30)
#散点图
axes[1][0].scatter(x,y)
#条形图
axes[1][1].barh(x,y)
#饼图
axes[1][2].pie([1,2,3,4,5],labels=['A级','B级','C级','D级','E级'])
#axes[1,2].boxplot() 需要合适的数据,就不画了
#设置子图的xy轴范围,子图标题,标签背景颜色等,也可单独使用ax1.set_xlim()进行设置。部分属性不能直接使用set设置
ax1.set(xlim=[-10,12],ylim=[-6,4],title='This is TU1',xlabel='xlabel',ylabel='ylabel',facecolor='#ffeedd')
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-06|,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.折线图
  • 2.柱状图
  • 3.散点图
  • 4.饼图
  • 5.箱式图
  • 6.热度图
  • 7.子图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档