Python 数据可视化之matpotlib画图
目录
一、建立画布和坐标系
二、解决中卫乱码问题
三、介绍多种绘图方法以折线图为例
四、多种图形的绘制方法
1、折线图
2、条形图
3、面积图
4、填图
5、饼图
6、直方图和核密度图
7、散点图
8、箱线图
9、雷达图
五、图形保存
六、拓展图形
一、建立画布和坐标系
#导入绘图所用的相关库
import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
#方法1
fig=plt.figure(figsize=(10,5),edgecolor='r') # figsize参数,设置画布大小,edgecolor参数,设置画布边框颜色
# 在画布上添加坐标系
ax1=fig.add_subplot(1,2,1) # 1行2列,第一个子坐标系
#方法2 同时建立figure和坐标系
fig1,axes=plt.subplots(nrows=2,ncols=2,figsize=(7,5))
二、解决中卫乱码问题
plt.rcParams['font.sans-serif']='SimHei'
plt.rcParams['axes.unicode_minus']=False
三、介绍多种绘图方法以折线图为例
# 直接用数据框实例的plot方法
df1=pd.DataFrame(np.random.randn(30,3),columns=list("abc")).cumsum() # cumsum 累计求和
# 单个变量折线图
df1['a'].plot.line(color='r',linestyle='--',marker='^',alpha=0.5) # 颜色=k 代表黑色,'--' 表示虚线 ,'-'实线,
# 多变量折线图方法1
df1.plot.line(colormap='summer',linestyle='--',marker='.',grid=True) # 多变量时给调色板colormap
# 多变量折线图方法2,画折线图line可以省略,可以指定颜色
df1.plot(kind='line',y=['a','b'],marker='+',linestyle='-',color=['r','b'])
# 画图的时候指定坐标系
fig1,axes=plt.subplots(2,1,figsize=(6,10))
df1.plot(kind='line',colormap='spring',marker='.',
linestyle='--',grid=True,alpha=0.8,ax=axes[0])
# 先生成坐标系,再在指定坐标系上画图
fig1,axes=plt.subplots(1,2,figsize=(10,5))
df1=pd.DataFrame(np.random.rand(10,3),columns=list('abc')).cumsum()
df2=pd.DataFrame(np.random.rand(10,3),columns=list('abc')).cumsum()
axes[0].plot(df1,linestyle='--',marker='.',alpha=0.5) # 和上面方法对比,不能设定grid参数
axes[1].plot(df1,'.--',df2,'+-')
#坐标系基本元素的设定
ax.set_title('时间序列图',fontsize=20) # 添加图标题 fontsize参数设置字号大小
ax.set_xlabel("时间",fontsize=30) #设定x轴标签
ax.set_ylabel("值",fontsize=30) #设定y轴标签
ax.set_xlim([0,60]) # x轴边界
ax.set_ylim([-20,15]) # y轴边界
h1=range(0,60,5)
ax.set_xticks(h1) # 设置x刻度
ax.set_xticklabels(h1