一、Matplotlib库

1.1、简介

        Matplotlib 是一个用于绘制图表和可视化数据的 Python 库。它提 供了一种类似于 MATLAB 的绘图接口,使用户能够轻松地生成各种 类型的图形,包括折线图、散点图、直方图、饼图等。Matplotlib 被广泛应用于数据分析、科学计算、工程和其他领域

1.2、特点

(1)易于上手:Matplotlib的API设计简洁,绘图流程清晰,初学者可以快速掌握。

(2)高度可定制:Matplotlib提供了丰富的绘图参数,用户可以根据需求调整图形 样式、颜色、字体等。

(3)支持多种数据源:Matplotlib可以处理多种数据格式,如列表、数组、Pandas 数据框等。

(4)跨平台:Matplotlib支持Windows、Linux和macOS等多个操作系统。

官网:Matplotlib — Visualization with Python 

安装:pip install matplotlib

1.3、 图表(Figure)

        在 Matplotlib 中,Figure 是一个顶层容器,用于包含图表中的所有元素。比如坐标轴、图例、标题、等

1.4、轴(Axes)

        一个 Matplotlib 图表可以包含一个或多个 Axes 对象,每个 Axes 对象都是一个独立的坐标系,可以理解成一个子图

1.5、轴(Axis)

        在 Matplotlib 中,Axis 这个词可以指代 坐标轴,即图表中的X轴和Y轴。这是用于定位和测量数据点位置的参考线

1.6、画家(Artist)

        在 Matplotlib 中,Artist 是一个基础的图形元素对象,它代表了图表中的各种图形元素,如图形、文本、线条等。所有的图形元素,无论是图表本身、坐标轴、标签还是其他可见的部分,都是 Artist 对象

二、Matplotlib的基本使用

方法名 说明
title() 设置图表的名称
xlabel() 设置x轴名称
ylabel() 设置y轴名称
xticks(x,ticks,rotation) 设置x轴的刻度,rotation旋转角度
yticks() 设置y轴的刻度
plot() 绘制线性图表
show() 显示图表
legend() 显示图例
text(x,y,text) 显示每条数据的值 x,y值的位置
figure(name,figsize=(w,h),dpi=n) 设置图片大小
import matplotlib.pyplot as plt
x=[1,2,3,4,5]
squares=[1,4,9,16,25]
plt.plot(x,squares)
plt.show()
import matplotlib.pyplot as plt
datas=[1,2,3,4,5]
squares=[1,4,9,16,25]
plt.plot(datas,squares,linewidth=5) #设置线条宽度
#设置图标标题,并在坐标轴上添加标签
plt.title('Numbers',fontsize=24)
plt.xlabel('datas',fontsize=14)
plt.ylabel('squares',fontsize=14)
plt.show()

三、中文乱码问题

查看系统内字体

from matplotlib.font_manager import fontManager as fm


for f in fm.ttflist:
  if f.fname.find('simhei.ttf') != -1:
    print(f.name,'===',f.fname)

临时增加字体

from matplotlib.font_manager import fontManager as fm


fm.addfont('./ali.ttf')
for f in fm.ttflist:
  if f.fname.find('ali') != -1:
    print(f.name,'===',f.fname)

设置字体

import matplotlib.pyplot as plt


#设置中文乱码问题
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['font.family']='SimHei'

单独设置字体

import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties


datas=[1,2,3,4,5]
squares=[1,4,9,16,25]
plt.plot(datas,squares) #设置线条宽度
#设置图标标题,并在坐标轴上添加标签
plt.title('标题设置',fontsize=24,fontdict={'fontproperties':FontProperties(fname='./ali.ttf')})
plt.xlabel('x轴',fontsize=14,fontdict={'family':'SimHei'})
plt.ylabel('y轴',fontsize=14,fontdict={'family':'SimHei'})

四、负数不显示问题

plt.rcParams['axes.unicode_minus'] = False

五、思维导图 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐