python学习之基础内容(三)

三. Matplotlib数据可视化

1.安装及导入

  1. Pip安装:pip install matplotlib
  2. 导入库:import matplotlib.pyplt as plt

2.画布

python学习之基础内容(三)_第1张图片

3.绘图

#Matplotlib绘图
import matplotlib.pyplot as plt
plt.figure(figsize=(3,2),facecolor="green")
plt.plot()     #绘制空白图形
plt.show()    #显示绘图

python学习之基础内容(三)_第2张图片

4.参数设置

#绘图参数
import matplotlib.pyplot as plt
plt.rcParams["font.family"]="SimHei"   #设置中文字体:中文黑体,宋体是SimSun,恢复默认是plt.rcdefaults()

fig=plt.figure(facecolor="lightgrey")  #画布颜色为亮灰色

plt.subplot(2,2,1)   #h划分子图,subplot(行数,列数,子图序列)
plt.title('子标题1')
plt.subplot(2,2,2)
plt.title('子标题2',loc="left",color="b")  #标题位置靠左
plt.subplot(2,2,3)
myfontdict={"fontsize":12,"color":"g","rotation":30}  #标题旋转30°
plt.title('子标题3',fontdict=myfontdict) #设置参数字典
plt.subplot(2,2,4)
plt.title('子标题4',color='white',backgroundcolor="black")

plt.suptitle("全局标题",fontsize=20,color="red",backgroundcolor="yellow") #全局标题
plt.tight_layout(rect=[0,0,1,0.9])   #自动调整子图,消除子图之间的重叠,子图向下挪了一点,给全局标题留点位置
#tight_layout(rect=[left,bottom,right,top])
plt.show()

 python学习之基础内容(三)_第3张图片

5.散点图 

#散点图
import matplotlib.pyplot as plt    #导入绘图库
import numpy as np                 #导入numpy库
plt.rcParams["font.family"]="SimHei"   #设置中文字体:中文黑体
plt.rcParams['axes.unicode_minus']=False    #正常显示负号 
#标准正态分布
n=1024                                #随机点个数:1024
x1=np.random.normal(0,1,n)             #生成数据点x坐标
y1=np.random.normal(0,1,n)             #生成数据点y坐标

x2=np.random.uniform(-4,4,(1,n))
y2=np.random.uniform(-4,4,(1,n))
#绘制散点图
plt.scatter(x1,y1,color="blue",marker='*',label="正态分布")
plt.scatter(x2,y2,color="yellow",marker='o',label="均匀分布")

plt.legend()    #显示图例
#设置标题
plt.title("标准正态分布",fontsize=20)
#设置文本
plt.text(2.5,2.5,"均 值:0\n标准差:1")
#设置坐标范围
plt.xlim(-4,4)
plt.ylim(-4,4)
#设置坐标轴标签
plt.xlabel('横坐标',fontsize=14)
plt.ylabel('纵坐标',fontsize=14)

plt.show()

python学习之基础内容(三)_第4张图片

6.折线图

#折线图
import matplotlib.pyplot as plt    #导入绘图库
import numpy as np                 #导入numpy库
plt.rcParams["font.family"]="SimHei"   #设置中文字体:中文黑体

n=24
y1=np.random.randint(27,37,n)
y2=np.random.randint(40,60,n)
#plot(x,y,color,marker,label,linewidth,markersize)
plt.plot(y1,label='温度')
plt.plot(y2,label='湿度')

plt.xlim(0,23)
plt.ylim(20,70)
plt.xlabel('小时',fontsize=12)
plt.ylabel('测量值',fontsize=12)

plt.title('24小时温度湿度统计',fontsize=16)
plt.legend()
plt.show()

python学习之基础内容(三)_第5张图片

7.柱形图 

#柱形图
import matplotlib.pyplot as plt    #导入绘图库
import numpy as np                 #导入numpy库
plt.rcParams["font.family"]="SimHei"   #设置中文字体:中文黑体
plt.rcParams['axes.unicode_minus']=False    #正常显示负号 
#条纹高度
y1=[32,25,16,30,24,45,40,33,28,17,24,20]
y2=[-23,-35,-26,-35,-45,-43,-35,-32,-23,-17,-22,-28]
#条纹left坐标,条纹的宽度0.8,每隔1cm开始画一个条纹
plt.bar(range(len(y1)),y1,width=0.8,facecolor='green',edgecolor='white',label='统计量1')#自动生成left坐标序列
plt.bar(range(len(y2)),y2,width=0.8,facecolor='red',edgecolor='white',label='统计量2')
#bar(left,height,width,facecolor,edgecolor,label)
plt.title("柱状图",fontsize=20)

plt.legend()
plt.show()

python学习之基础内容(三)_第6张图片

8.网站

Matplotlib官网:Matplotlib — Visualization with Python

Matplotlib — Visualization with Python/genindex.html

Matplotlib — Visualization with Python/gallery.html

 

你可能感兴趣的:(python,python,学习)