数据分析与展示---Matplotlib入门

Posted ssyfj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据分析与展示---Matplotlib入门相关的知识,希望对你有一定的参考价值。

简介:

一:Matplotlib库的介绍

(一)简单使用

二:区域划分subplot

三:plot函数

四:pyplot的中文显示

(一)方法一:修改rcParams参数

(二)方法二(推荐),在有中文地方增加属性:fontproperties

五:pyplot的文本显示方法

六:pyplot的子绘图区域

(一)subplot2grid()

(二)GridSpec类加上subplot方法


 

一:Matplotlib库的介绍

技术分享图片

 技术分享图片

(一)简单使用

import matplotlib.pyplot as plt

plt.plot([3,1,4,5,2])
plt.ylabel("grade")
plt.show()

技术分享图片

import matplotlib.pyplot as plt

plt.plot([3,1,4,5,2])
plt.ylabel("grade")
plt.savefig("test",dip=600)  #png文件,dpi修改输出质量
plt.show()

 技术分享图片

import matplotlib.pyplot as plt

plt.plot([0,2,4,6,8],[3,1,4,5,2])  #第一个列表是x轴列表,第二个是y轴列表
plt.ylabel("grade")
plt.axis([-1,10,0,6])  #前两个是x轴的取值范围-1到10,后两个是y轴取值范围0-6
plt.show()

 技术分享图片

二:区域划分subplot

 技术分享图片

注意:划分区域可以不使用‘,‘

import matplotlib.pyplot as plt
import numpy as np

def f(t):
    return np.exp(-t)*np.cos(2*np.pi*t)  #衰减曲线

a = np.arange(0.0,5.0,0.02)

plt.subplot(211)  #划分为两行一列,选取第一个区域
plt.plot(a,f(a))  #绘制衰减曲线

plt.subplot(2,1,2)  #在将绘图区域换到整个绘图区域的第二个,自动切换
plt.plot(a,np.cos(2*np.pi*a),r--)  #绘制余弦曲线

plt.show()

 技术分享图片

 三:plot函数

 技术分享图片

import matplotlib.pyplot as plt
import numpy as np

a = np.arange(10)

plt.plot(a,a*1.5,a,a*2.5,a,a*3.5,a,a*4.5)  #每两个是一条曲线
plt.show()

技术分享图片

如何控制颜色等曲线属性:通过参数format_string

技术分享图片

技术分享图片

技术分享图片

import matplotlib.pyplot as plt
import numpy as np

a = np.arange(10)

plt.plot(a,a*1.5,go-,a,a*2.5,rx,a,a*3.5,*,a,a*4.5,b-.)
plt.show()

 技术分享图片

 

技术分享图片

四:pyplot的中文显示

(一)方法一:修改rcParams参数

 技术分享图片

import matplotlib.pyplot as plt
import matplotlib

matplotlib.rcParams[font.family]=SimHei

plt.plot([0,2,4,6,8],[3,1,4,5,2])#第一个列表是x轴列表,第二个是y轴列表
plt.ylabel("纵向轴")     #默认是不允许中文,会报错
plt.axis([-1,10,0,6])   #前两个是x轴的取值范围-1到10,后两个是y轴取值范围0-6
plt.show()

 技术分享图片

技术分享图片

技术分享图片

import matplotlib.pyplot as plt
import numpy as np
import matplotlib

matplotlib.rcParams[font.family] = "SimHei"
matplotlib.rcParams[font.size] = 20

a = np.arange(0.0,5.0,0.02)

plt.xlabel("横轴:时间")
plt.ylabel("纵轴:振幅")
plt.plot(a,np.cos(2*np.pi*a),r--)

plt.show()

 

 技术分享图片

(二)方法二(推荐),在有中文地方增加属性:fontproperties

import matplotlib.pyplot as plt
import numpy as np

a = np.arange(0.0,5.0,0.02)

plt.xlabel("横轴:时间",fontproperties="SimHei",fontsize=20)
plt.ylabel("纵轴:振幅",fontproperties="SimHei",fontsize=20)
plt.plot(a,np.cos(2*np.pi*a),r--)

plt.show()

 技术分享图片

五:pyplot的文本显示方法

技术分享图片

import matplotlib.pyplot as plt
import numpy as np

a = np.arange(0.0,5.0,0.02)
plt.plot(a,np.cos(2*np.pi*a),r--)


plt.xlabel("横轴:时间",fontproperties="SimHei",fontsize=20,color="green")
plt.ylabel("纵轴:振幅",fontproperties="SimHei",fontsize=20)
plt.title(r正弦波实例 $cons(2pi x)$,fontproperties="SimHei",fontsize=15)
plt.text(2,1,r$mu=100$,fontsize=15) #2 1 是横纵坐标

plt.axis([-1,6,-2,2])
plt.grid(True)
plt.show()

 

 技术分享图片

技术分享图片

plt.annotate(r"$mu=100$",xy=(2,1),xytext=(3,1.5),arrowprops=dict(facecolor="black",shrink=0.1,width=2)) #shrink是箭头两边到图像,文字之间的间隔(相对于箭头的比例)

 技术分享图片

六:pyplot的子绘图区域

上面使用了subplot进行了简单的区域划分,下面考虑复杂的绘图区域的划分

技术分享图片

(一)subplot2grid()

技术分享图片

技术分享图片

技术分享图片

(二)GridSpec类加上subplot方法

 技术分享图片

总结

技术分享图片

技术分享图片

 

以上是关于数据分析与展示---Matplotlib入门的主要内容,如果未能解决你的问题,请参考以下文章

数据分析与展示——Matplotlib基础绘图函数示例

Python数据分析入门与实践

matplotlib快速入门

matplotlib快速入门

数据科学指南#基础篇 Matplotlib 入门

数据科学指南#基础篇 Matplotlib 入门