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

2022/2/27 23:25:32

本文主要是介绍Py记5(Marplotlib数据可视化1---基础篇,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

  • 1、Matplotlib库
  • 2、Figure对象:创建画布:
  • 3、划分子图:subplot(行数,列数,子图序号)
  • 4、设置中文字体:plt.rcParams["font.sans-serif"]="SimHei"
  • 5、添加标题 suptitle、title
  • 6、自动调整子图:tight_layout(rect=[lefft,bottom,right,top])

1、Matplotlib库

  • Matplotlib库:第三方库,快速生成图表(直方图,柱状图,折线图等等
  • Matplotlib 的API:https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot
  • pip安装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如图:
请添加图片描述

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

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

fig=plt.figure()

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

plt.show()

请添加图片描述

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标题垂直对齐方式 topcenter/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.)设置上下边缘区域。

请添加图片描述
例如:

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---基础篇的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程