matplotlib介绍和使用方法

matplotlib介绍

Matplotlib 是 Python 的绘图库, 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案, 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。

安装方法

#使用python自带的pip下载
pip install matplotli

实例

实例1

'''
绘制一天每隔两个小时的温度变化的折线图
'''

#导入pyplot并起别名plt方便调用
from matplotlib import pyplot as plt

#设置图片大小,figure图形的意思,参数figsize是一个元组(宽,高),dpi表示清晰度
plt.figure(figsize=(20,8),dpi=80)

#时间
x = range(2,26,2)

#温度列表
y = [15,16,14,17,18,20,15,17,20,21,19,22]

#绘图,参数(x轴,y轴)
plt.plot(x,y)

#设置x轴的刻度,参数是列表,这里把上面定义的x传进来
plt.xticks(x)

#同理,设置Y轴的刻度就是yticks,这里设置的刻度是y的最小值和y的最大值
plt.yticks(range(min(y),max(y)+1))

#保存图片,参数为路径
plt.savefig("./test1.png")

#展现绘图
plt.show()

生成图片如下:
matplotlib介绍和使用方法_第1张图片

实例2

'''
如果列表a表示10点到12点的每一分钟的气候
绘制折线图观察每分钟气候的变化情况
'''

from matplotlib import  pyplot as plt
import random

#10点到12点共2个小时120分钟
x = range(0,120)

#每分钟随机生成一个20-35的数
y = [random.randint(20,35) for i in range(120)]

plt.figure(figsize=(20,8),dpi=80)

#rotation参数可以设置x轴字体的角度方向
plt.xticks(x[::5],rotation=45)

plt.yticks(range(20,36))

plt.plot(x,y)

plt.savefig('./test.png')

plt.show()

生成的图片如下
matplotlib介绍和使用方法_第2张图片

注意:matplotlib默认不支持中文字符,因为默认的英文字体无法显示汉字

设置字体的方法一:

#需要导入matplotlib模块
import matplotlib

#创建一个样式字典
font = {'family' : 'MicroSoft YaHei',
        'weight' : 'bold',
        'size'   : 'larger'}


#用matplotlib.rc设置样式,方法有以下两种
matplotlib.rc(“font”,**font)
#matplotlib.rc(“font”,family=“MicroSoft YaHei”,weight=“blod”)

设置字体的方法二:

#需要导入font_manager
from matplotlib import pyplot as plt
from matplotlib import font_manager

#找到中文字体所在电脑的位置,导入中文字体库
my_font = fm.FontProperties(fname='C:\Windows\Fonts\msyh.ttf')

#需要使用的时候传入即可
plt.xticks(x[::5],rotation=45,fontproperties=my_font)

设置标题

plt.title("图片主标题")
plt.xlabel("x轴标题")
plt.ylabel("y轴标题")

更改图形现状

#现状图
plt.plot(x,y)

#点状图
plt.scatter(x,y)

#圆饼图
plt.pie(y)

#柱状图
plt.bar(x,y)

#等等......

matplotlib介绍和使用方法_第3张图片

实例3

import random
from matplotlib import pyplot as plt
#font_manager用于处理汉字显示
from matplotlib import font_manager

x = range(0,20)
y1 = [random.randint(1,20) for i in range(20)]
y2 = [random.randint(1,20) for i in range(20)]

#设置中文字体
my_font = font_manager.FontProperties(fname='C:\Windows\Fonts\msyh.ttc')

#设置图片大小和清晰度
plt.figure(figsize=(20,8),dpi=80)

#设置折线图名称和中文字体
plt.title('我是折线图标题',fontproperties=my_font)

#设置折线图x,y轴名称和中文字体
plt.xlabel('我是x轴标题',fontproperties=my_font)
plt.ylabel('我是y轴标题',fontproperties=my_font)

#设置x,y刻度
xticks_labels = ["第{}个".format(i) for i in x]
plt.xticks(x,xticks_labels,rotation=45,fontproperties=my_font)
plt.yticks(range(0,20))


#调用多次plot可创建多个图形,并传入label参数设置图例名
plt.plot(x,y1,label='蓝线',color='blue',linestyle='--')
plt.plot(x,y2,label='红线',color='red',linestyle=':')

#添加图例,并设置样式、位置
plt.legend(prop=my_font,loc='upper left')


#添加背景网格
plt.grid()

#保存图片
plt.savefig('./test3.png')

#显示图片
plt.show()

输出结果
matplotlib介绍和使用方法_第4张图片

你可能感兴趣的:(python,数据分析,大数据)