Py记5(Marplotlib数据可视化1---基础篇

目录

1、Matplotlib库

pip install matplotlib
  • 导入Matplotlib库
import matplotlib.pyplot as plt 

2、Figure对象:创建画布:

figure(num,figsize,dpi,facecolor,edgecolor,frameon)

num:图形编号或名称,值为数字/字符串
figsize:绘图对象的宽和高,单位英寸
dpi:分辨率,默认80
facecolor:背景颜色。
edgecolor:边框颜色
frameon:表示是否显示边框。

颜色:(最后一个字母为其缩写)

蓝色blue b 黑色black k 绿色green g 白色white w
红色red r 蓝绿cyan c 黄色yellow y 品红magenta m

例如:

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

注意:在Spyder软件设置单独弹出的窗口的步骤为:
Tools–>Preferences–>IPython console–>Graphics–>Graphics backend–> Backend–>设置成Automatic,如图所示。如果是设置成Inline则figure是在IPython console中显示。最后需要再对Spyder软件进行重新启动,没有重启则不能实现设置效果。figure如图:
Py记5(Marplotlib数据可视化1---基础篇

3、划分子图:subplot(行数,列数,子图序号)

当3个参数都少于10时,可省逗号。 每创建一个子图要一条语句

fig=plt.figure()

plt.subplot(2,2,1)   #等价于plt.subplot(221)
plt.subplot(222)
plt.subplot(223)

plt.show()

Py记5(Marplotlib数据可视化1---基础篇

4、设置中文字体:plt.rcParams[“font.sans-serif”]=“SimHei”

参数:

  • rcParams:运行配置参数run configuration Params,修改绘制图表时的各种默认参数
  • font.sans-serif:字体系列
  • SimHei:黑体
字体 参数 字体 参数
宋体 SimSun 楷体 KaiTi
黑体 SimHei 仿宋 FangSong
微软雅黑 Microsoft YaHei 隶书 LiSu
微软正黑体 Microsoft JhengHei 幼圆 YouYuan

修改后可再恢复标准默认配置:plt.rcdefaults()

5、添加标题 suptitle、title

全局标题:suptitle(标题文字)
子标题:title(标题文字)
suptitle()函数参数:

参数 说明 默认值 可取值
x 标题位置的x坐标 0.5
y 标题位置的y坐标 0.98
color 标题颜色 黑色
backgroundcolor 背景颜色 12
fontsize 字体大小 见下面说明
fontweight 字体粗细 normal 见下面说明
fontstyle 字体类型 normal/italic/oblique
horizontalalignment 标题水平对齐方式 center left/right/center
verticalalianment 标题垂直对齐方式 top center/top/bottom/baseline

说明:

  • fontsize可取值: xx-small、x-small、small、medium、large、x-large、xx-large
  • fontweight可取值:light、normal、medium、semiboldbold、heavy、black
  • title()函数主要参数:
参数 说明 取值
loc 位置 left,right
rotation 标题文字旋转角度
color 标题颜色 黑色
fontsize 字体大小
fontweight 字体粗细 normal
fontstyle 字体类型
horizontalalignment 标题水平对齐方式 center
verticalalianment 标题垂直对齐方式 top
fontdict 设置参数字典

6、自动调整子图:tight_layout(rect=[lefft,bottom,right,top])

  • 四个参数是子图占绘图区域的相对位置(使全局标题与子图不重叠)
  • 完整定义:tight_layout(pad=1.08, h_pad=None, w_pad=None, rect=None)
  • 当tight_layout自动调整失效时,不妨手动设h_pad(Padding (height/width) between edges of adjacent subplots, as a fraction of the font size.)设置上下边缘区域。

Py记5(Marplotlib数据可视化1---基础篇
例如:

import matplotlib.pyplot as plt
plt.rcParams["font.family"] = "SimHei"
  
fig = plt.figure(facecolor = "lightgrey")
plt.subplot(2, 2, 1)
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}
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])
plt.show()

效果图:

Py记5(Marplotlib数据可视化1---基础篇

上一篇:VS2019使用bq80xrw.ocx控件时,从工具箱把控件拖入窗体,VS死机退出。


下一篇:Mockplus设计大赛获奖选手专访 | Intimate:你的专属密友音乐播放器