matplotlib绘图

通过plt.xxx()直接绘图

  • plt中用于绘图的部分函数
函数名作用
plt.bar()条形图
plt.barh()横排条形图
plt.boxplot()箱线图
plt.hist()频率直方图
plt.plot()折线图
  • plt中用于设置的部分函数
函数名作用
plt.title()设置图表标题
plt.grid()设置图表网格
plt.xlable()设置x轴标题
plt.ylable()设置y轴标题
plt.xticks()设置x轴刻度
plt.yticks()设置y轴刻度
plt.xlim()设置x轴范围
plt.ylim()设置y轴范围
plt.annotate()设置标注

用plt绘图的方便之处,就是它没有一个显性的对象,我们也可以调用pandas来绘图

%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('whitegrid')
plt.rcParams['figure.figsize'] = (8, 6)  
plt.rcParams['figure.dpi'] = 120        
import pandas as pd
data = Series([1.47,1.62,1.78,1.94,2.38,2.60],index=['2012','2013','2014','2015','2016','2017'])
#注意下一行的对象是'data',它是一个series对象,调用的是pandas绘图函数
data.plot(label='income', color = 'r', linestyle=':',  marker = 's')
# 调用plt的函数对其进行设置
plt.title('Income chart')
plt.title('Income chart',fontsize=20)
plt.xlabel('Year',fontsize=15)
plt.ylabel('income',fontsize=15)
plt.annotate('Largest point',xy=(5,2.60),xytext=(3,2.5), arrowprops=dict(arrowstyle='->',color='green'))
plt.show()

在这里插入图片描述

该例子展示了pyplot(plt)的特点,不用指明对象就能进行绘图和设置,当我们在同一个程序中的图比较少的时候这是方便的,但当我们同一个程序中的图很多的时候,这种没有显性对象的方式会导致我们没有办法重新调用之前的图(因为没有对象名)。

实例化figure和axes对象后绘图

在matplotlib中,有两个重要的对象类型:

  • figure对象可以把它想成一张空白图纸,在上面可以绘制一个或多个axes对象(还可以有其他对象等)。
  • axes对象是一个图像的主要部分(它包括了图线、xy轴等部分)。
    我们可以使用plt接口生成figure对象和axes对象,然后对axes对象调用方法来实现画图和设置。
    总体思路是:
    1.实例化figure对象
    2.实例化axes对象
    3.对axes对象调用方法进行画图和设置
%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('darkgrid')
plt.rcParams['figure.figsize'] = (8, 6) 
plt.rcParams['figure.dpi'] = 120         
from pandas import Series
data = Series([1.47,1.62,1.78,1.94,2.38,2.60],index=['2012','2013','2014','2015','2016','2017'])
#调用plt接口,实例化figure1对象
fig = plt.figure()  # 生成空白图像
#实例化ax1对象
ax = fig.add_subplot(111)#ax1是figure1的第1行第一列的第1张图表
#注意下一行的对象是'ax1',它是一个axes对象,调用的是matplotlib.axes绘图函数
ax.plot(data,label='income', color = 'r', linestyle=':',  marker = 's')
#接下来我们调用ax1的方法对它进行设置
ax.set_title('Income chart',fontsize=20)
ax.set_xlabel('Year',fontsize=18)
ax.set_ylabel('income',fontsize=18)
ax.annotate('Largest point',xy=(5,2.60),xytext=(3,2.5), arrowprops=dict(arrowstyle='->',color='green'))
plt.show()

在这里插入图片描述
用这种方式画出来的图,每一个对象都有它自己的名字,方便后面继续调用、修改。

  • axes对象用于绘图的部分方法函数
函数名作用
ax.bar()条形图
ax.barh()横排条形图
ax.boxplot()箱线图
ax.hist()频率直方图
ax.plot()折线图
  • axes对象中用于设置的部分方法函数
函数名作用
ax.set_title()设置图表标题
ax.set_xlable()设置x轴标题
ax.set_ylable()设置y轴标题
ax.set_xticks()设置x轴刻度
ax.set_yticks()设置y轴刻度
ax.set_xlim()设置x轴范围
ax.set_ylim()设置y轴范围
ax.set_annotate()设置标注

plt的画图函数详解

1.plt.legend

plt.legend(loc = 0) #显示图例的位置,自适应方式

‘best’: 0, (only implemented for axes legends)(自适应方式)
‘upper right’: 1
‘upper left’: 2
‘lower left’: 3
‘lower right’: 4
‘right’: 5
‘center left’: 6
‘center right’: 7,
‘lower center’: 8
‘upper center’: 9
‘center’: 10

2. plt.figure

  #设置绘图区域的大小和像素
plt.figure(figsize=(14,6),dpi=80)

3.plt.xticks

#设置x轴的刻度线为new_year,new_year可以为数组
plt.xticks(new_year)

4.plt.xlabel

plt.xlabel('year')  #x轴标签

5.plt.plot

#将实际值的折线设置为蓝色
plt.plot(number,color='blue',label='actual value' )  

6.两个图分开

fig, axes = plt.subplots(2,1,sharex=True,figsize=(10,10))
axes[0].plot(range(len(data20)),data20,'r')
axes[1].plot(range(len(data40)),data40,'b')

7.中文显示,图像分辨率,全局设置图像大小

plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
plt.rcParams['figure.figsize'] = (10.0, 8.0) 

8.关闭警告

import warnings
warnings.filterwarnings('ignore')   
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值