Matplotlib的详细使用及原理(三)

简介: 这篇文章介绍了如何使用Python的Matplotlib库绘制线条。主要内容包括两种绘制线条的方法:

Matplotlib的详细使用及原理(二)+https://developer.aliyun.com/article/1543861?spm=a2c6h.13148508.setting.16.1fa24f0eFbYRn7

如何绘制lines

绘制直线line 常用的方法有两种


  • pyplot方法绘制


  • Line2D对象绘制


  1. pyplot方法绘制


import matplotlib.pyplot as plt
x = range(0,5)
y = [2,5,7,8,10]
plt.plot(x,y)


[]



import matplotlib.pyplot as plt
 
fig, axs = plt.subplots(2, 2)  # 创建一个2x2的子图矩阵
axs[0, 0].plot([0, 1], [0, 1])  # 在第一个子图中绘制一条线
plt.show()




  2.Line2D对象绘制


import matplotlib.pyplot as plt
from matplotlib.lines import Line2D      
 
fig = plt.figure()
ax = fig.add_subplot(111)
# 在图形对象上添加一个子图,并将其赋值给变量ax。add_subplot()函数接受一个参数,表示子图的位置。# # 在这里,参数111表示将子图放置在图形对象的中心位置。
line = Line2D(x, y)
ax.add_line(line)
ax.set_xlim(min(x), max(x))
ax.set_ylim(min(y), max(y))
 
plt.show()




pyplot.figure().add_subplot 是 Matplotlib 库中的一个方法,用于在图形中添加子图。这个方法通常与 pyplot.figure() 一起使用,以创建一个新的图形对象并添加子图。


此外还可以绘制误差折线图等各种图形。


collections


collections类是用来绘制一组对象的集合,collections有许多不同的子类,RegularPolyCollection, CircleCollection, 分别对应不同的集合子类型。其中比较常用的就是散点图,它是属PathCollection子类,scatter方法提供了该类的封装,根据x与y绘制不同大小颜色标记的散点图,它的构造方法:



Axes.scatter(self, x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=, edgecolors=None, , plotnonfinite=False, data=None, *kwargs)


其中最主要的参数是前5个:


  • x:数据点x轴的位置


  • y:数据点y轴的位置


  • s:尺寸大小


  • c:可以是单个颜色格式的字符串,也可以是一系列颜色


  • marker: 标记的类型


scatter绘制散点图


x = [0,2,4,6,8,10] 
y = [10]*len(x) 
s = [20*2**n for n in range(len(x))] 
plt.scatter(x,y,s=s) 
plt.show()




对象容器 - Object container


容器会包含一些primitives,并且容器还有它自身的属性。


比如Axes Artist,它是一种容器,它包含了很多primitives,比如Line2DText


Figure容器


matplotlib.figure.Figure是Artist最顶层的container-对象容器,它包含了图表中的所有元素。一张图表的背景就是在Figure.patch的一个矩形Rectangle。


当我们向图表添加Figure.add_subplot()或者Figure.add_axes()元素时,这些都会被添加到Figure.axes列表中。


fig = plt.figure()
ax1 = fig.add_subplot(211) # 作一幅2*1的图,选择第1个子图
ax2 = fig.add_axes([0.1, 0.1, 0.7, 0.3]) # 位置参数,四个数分别代表了(left,bottom,width,height)
print(ax1) 
print(fig.axes) # fig.axes 中包含了subplot和axes两个实例, 刚刚添加的


fig = plt.figure()
ax1 = fig.add_subplot(211)
 
for ax in fig.axes:
    ax.grid(True)
# 创建网格图


Figure容器的常见属性:


Figure.patch属性:Figure的背景矩形


Figure.axes属性:一个Axes实例的列表(包括Subplot)


Figure.images属性:一个FigureImages patch列表


Figure.lines属性:一个Line2D实例的列表(很少使用)


Figure.legends属性:一个Figure Legend实例列表(不同于Axes.legends)


Figure.texts属性:一个Figure Text实例列表


matplotlib.axes.Axes是matplotlib的核心。大量的用于绘图的Artist存放在它内部,并且它有许多辅助方法来创建和添加Artist给它自己,而且它也有许多赋值方法来访问和修改这些Artist。


Axes容器


Figure容器类似,Axes包含了一个patch属性,对于笛卡尔坐标系而言,它是一个Rectangle;对于极坐标而言,它是一个Circle。这个patch属性决定了绘图区域的形状、背景和边框。


import numpy as np
import matplotlib.pyplot as plt
import matplotlib
 
fig = plt.figure()
ax = fig.add_subplot(111)
rect = ax.patch  # axes的patch是一个Rectangle实例
rect.set_facecolor('green')



Axes容器的常见属性有:


artists: Artist实例列表 patch: Axes所在的矩形实例 collections: Collection实例 images: Axes图像

legends: Legend 实例 lines: Line2D 实例 patches: Patch 实例 texts: Text 实例 xaxis:

matplotlib.axis.XAxis 实例 yaxis: matplotlib.axis.YAxis 实例。





相关文章
|
3月前
|
前端开发 数据可视化 API
Matplotlib的详细使用及原理(一)
`matplotlib`是Python的数据可视化库,用于生成高质量的2D图形,支持静态、动态和交互式图表。它是pandas和seaborn等库的底层基础。基本绘图通过`pyplot.subplots`创建figure和axes,然后用`plot`函数绘制线条。例如,`plt.plot([1, 2, 3, 4], [1, 4, 2, 3])`可绘制简单折线图。matplotlib有三种API层次,包括FigureCanvas、Renderer和Artist,其中Artist对应具体的图形元素。此外,matplotlib的绘图接口分为显式创建和pyplot隐式创建两种方式。
|
3月前
|
开发者 Python 容器
Matplotlib的详细使用及原理(二)
Matplotlib是一个Python库,用于创建二维和三维图表,它是NumPy的扩展。使用时,首先创建`Figure`实例,然后在其上添加`Axes`或`Subplot`。每个图表元素(如线、散点、直方图)都是一个`Artist`对象,具有属性如`alpha`、`visible`等,可以通过`get_`和`set_`方法进行访问和修改。`Figure`和`Axes`对象都有对应的`patch`属性,分别代表它们的背景矩形。图形中的线条(`Line2D`)是基本要素之一,可配置颜色、线型、宽度等属性。
matplotlib绘图的核心原理讲解(超详细)(二)
matplotlib绘图的核心原理讲解(超详细)(二)
matplotlib绘图的核心原理讲解(超详细)(二)
matplotlib绘图的核心原理讲解(超详细)(一)
matplotlib绘图的核心原理讲解(超详细)(一)
matplotlib绘图的核心原理讲解(超详细)(一)
|
9天前
|
数据可视化 Python
Python中的数据可视化:使用Matplotlib绘制图表
【9月更文挑战第11天】在这篇文章中,我们将探索如何使用Python的Matplotlib库来创建各种数据可视化。我们将从基本的折线图开始,然后逐步介绍如何添加更多的功能和样式,以使您的图表更具吸引力和信息量。无论您是数据科学家、分析师还是任何需要将数据转化为视觉形式的专业人士,这篇文章都将为您提供一个坚实的起点。让我们一起潜入数据的海洋,用视觉的力量揭示其背后的故事。
33 16
|
1天前
|
数据可视化 数据挖掘 API
使用Python进行数据可视化:探索Matplotlib和Seaborn库
【9月更文挑战第19天】在数据科学领域,将复杂的数据集转换成直观、易懂的图形是一项基本而关键的技能。本文旨在通过Python编程语言介绍两个强大的数据可视化库——Matplotlib和Seaborn,以及它们如何帮助数据分析师和研究人员揭示数据背后的故事。我们将从基础概念讲起,逐步深入到高级技巧,确保无论读者的背景如何,都能获得必要的知识和启发,以在自己的项目中实现有效的数据可视化。
|
9天前
|
机器学习/深度学习 数据采集 监控
Pandas与Matplotlib:Python中的动态数据可视化
Pandas与Matplotlib:Python中的动态数据可视化
|
22天前
|
数据可视化 物联网 区块链
探索Python中的数据可视化:使用Matplotlib和Seaborn绘制图表探索未来:区块链、物联网与虚拟现实的融合趋势与应用前景
【8月更文挑战第30天】本文旨在引导读者通过Python编程语言,利用Matplotlib和Seaborn库,轻松掌握数据可视化技术。文章以浅显易懂的语言,结合实用的代码示例,从基础的图表绘制到高级定制功能,逐步深入讲解如何在数据分析中运用这些工具。无论你是编程新手还是希望提升可视化技能的开发者,都能在这篇文章中找到有价值的信息,让你的数据“活”起来。
|
22天前
|
机器学习/深度学习 数据可视化 数据挖掘
Python中的数据可视化:使用Matplotlib库绘制图表
【8月更文挑战第30天】数据可视化是数据科学和分析的关键组成部分,它帮助我们以直观的方式理解数据。在Python中,Matplotlib是一个广泛使用的绘图库,提供了丰富的功能来创建各种类型的图表。本文将介绍如何使用Matplotlib库进行数据可视化,包括安装、基本概念、绘制不同类型的图表以及自定义图表样式。我们将通过实际代码示例来演示如何应用这些知识,使读者能够轻松地在自己的项目中实现数据可视化。
|
2月前
|
数据可视化 数据挖掘 Python
数据界的颜值担当!Python数据分析遇上Matplotlib、Seaborn,可视化美出新高度!
【7月更文挑战第24天】在数据科学领域,Python的Matplotlib与Seaborn将数据可视化升华为艺术,提升报告魅力。Matplotlib作为基石,灵活性强,新手友好;代码示例展示正弦波图的绘制与美化技巧。Seaborn针对统计图表,提供直观且美观的图形,如小提琴图,增强数据表达力。两者结合,创造视觉盛宴,如分析电商平台销售数据时,Matplotlib描绘趋势,Seaborn揭示类别差异,共塑洞察力强的作品,使数据可视化成为触动人心的艺术。
47 7