Matplotlib绘图基础详细教程

这篇具有很好参考价值的文章主要介绍了Matplotlib绘图基础详细教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Matplotlib数据可视化

plt是最常用的接口

1. 画图的基本步骤

1.导入模块

import matplotlib as mpl
import matplotlib.pyplot as plt

2.创建画板,然后对画板进行调整
3.定义数据
4.绘制图形(包含坐标轴的设置,数据的导入,线条的样式,颜色,还有标题,图例,等等)
5.plt.show()
.
.
.

1.1一步一步看

1.1.1**(一)第一步:创建并定义一个"画板"**(你将要在你定义的画板上面进行画图操作).
fig=plt.figure()#定义一张画板命名为fig

plt.figure()括号里面还有一些参数
例如:

huaban=plt.figure(figsize=(6,10),facecolor='b',dpi=500)
#figsize是调整你的图像的比例大小,上面所示就是:长/宽=6/10
#facecolor是设置画板的背景颜色,一般颜色代码为英文的首字母
#dpi设置图像的分辨率,分辨率越图像越清晰
#edgcolor是设置边框颜色的参数
1.1.2**(二).第二步:定义你的x,y数据**

这里我们使用numpy库函数来制造一些数据
所以我们还得导入numpy函数

import numpy as np
#设置xy的值
x=np.linspace(-5,5,11)#这里就是把-5到5平均分成十一份,(-5,-4,-3,.....)
y=[1,6,3,-3,6,8,3,6,9,1,-5]
1.1.3**(三).第三步:设置x,y轴的大小,刻度,…**
#添加p1到画板
p1=fig.add_subplot(111)#这里的111是指把画板分成一行一列,把p1添加到第一副图

#限制函数坐标轴的长度
p1.axis([-5,5,-10,10])#x轴长度为-5到5,y轴长度为-10到10

#设置x,y轴的刻度
plt.xticks(x)
plt.yticks(y)
#这里是指:x,y轴的刻度为之前定义的x,y数据列表

#设置坐标轴的上下限
plt.xlim(-5,5)
plt.ylim(-10,10)
1.1.4(四).绘制图像,导入x,y数据,设置线条样式,颜色,粗细,添加图例,标题…
#绘制图像
p1.plot(x,y,marker='o',ms=5,lw=2,ls='--',label='band')
#x,y就是最开始定义的数据
#marker是设置拐点样式:o/h/^/./+等等
#ms是设置拐点的标记大小
#lw就是设置线条粗细,数值越大线条越粗
#ls是设置线条样式,这里'--'为虚线
#label是设置此线条的名称标题


p1.legend(loc='best')#添加图例,其中best是指将图例的位置添加到最佳位置,
#你也可以自己设置位置,例如:upper left(左上角)


#添加标题
plt.title('NUM',fontsize=24)#设置图像的标题,fontsize是设置标题文字的大小
plt.xlabel('Value',fontsize=14)#设置x轴的标题
plt.ylabel('ARG',fontsize=14)#设置y轴的标题

现在基本上就设置好了,因为我是在脚本中画图,所以我需要在代码的最后添加一个:plt.show(),它会自动启用一个事件循环,并找到所有当前可用的图形对象,然后打开一个交互式窗口来显示图形.

1.1.5上述的完整的代码(有一些细节的添加):
import matplotlib.pyplot as plt
import numpy as np
#设置xy的值
x=np.linspace(-5,5,11)
y=[1,6,3,-3,6,8,3,6,9,1,-5]
#创建一张画板
huaban=plt.figure(figsize=(6,10))
#添加p1到画板
p1=huaban.add_subplot(111)

#限制函数坐标轴的长度
p1.axis([-5,5,-10,10])

#设置x,y轴的刻度
plt.xticks(x)
plt.yticks(y)


#去除右边边框
p1.spines['right'].set_color('none')
#去除顶部边框
p1.spines['top'].set_color('none')

#下面两行代码是将xy轴的交点改为(0,0)
p1.spines['bottom'].set_position(('data',0))
p1.spines['left'].set_position(('data',0))

#绘制图像
p1.plot(x,y,marker='^',ms=5,lw=2,ls='--',label='band')
p1.legend(loc='upper left')
#添加标题
plt.title('NUM',fontsize=24)
plt.xlabel('Value',fontsize=14)
plt.ylabel('ARG',fontsize=14)

#添加辅助虚线
for i in range(len(x)):
    x1=[x[i],x[i]]
    y1=[0,y[i]]
    plt.plot(x1,y1,'r-.')
for i in range(len(x)):
    x2=[0,x[i]]
    y2=[y[i],y[i]]
    p1.plot(x2,y2,'r-.')

#添加每个折点的坐标
for i in range(len(x)):
    p1.text(x[i],y[i],(x[i],y[i]),c='green')

plt.grid(c='b',ls='--')#这个函数是生成网格的函数
plt.show()

输出结果:

Matplotlib绘图基础详细教程

3.散点图

散点图其实大部分语法和上述差不多,只需要将折线图中的plt.polt()改为plt.scatter()

这里我们只需要画一幅图来做个例子,就省去创建画板的步骤,创建画板的步骤在后面才会有用.

import numpy as np
import matplotlib.pyplot as plt

#随机生成一些数据
N=20
x=np.random.rand(N)
y=np.random.rand(N)
x1=np.random.rand(N)
y1=np.random.rand(N)

plt.scatter(x,y,s=100,c='red',marker='^',label='red')#c是color的简称,设置颜色
plt.legend(loc='best')

plt.scatter(x1,y1,s=50,c='blue',marker='o',label='blue')
plt.legend(loc='upper left')#在左上角添加图例

plt.xlabel('x')#给横坐标添加标签
plt.ylabel('y')#给纵坐标添加标签
plt.title('picture')#给图像添加标签
plt.show()#显示图像

.
输出结果:
Matplotlib绘图基础详细教程

4.条形图的绘制

使用plt.bar()进行绘制

import numpy as np
import matplotlib.pyplot as plt

x=[1,2,3,4,5]
y=np.random.rand(5)
plt.figure(figsize=(8,4))
plt.bar(x,y)
x_t=list(range(len(x)))
plt.xticks(x,x_t)
plt.show()

输出结果:
Matplotlib绘图基础详细教程

5.四幅子图的绘制

画子图就需要创建画板,然后对画板进行分割,然后在分出来的位置进行绘制不同的图像.
重点是这里:

p1 = huaban.add_subplot(221)
p2=huaban.add_subplot(222)
p3=huaban.add_subplot(223)
p4=huaban.add_subplot(224)
#这些数字的意思就是,把画板分成两行两列,四个位置,然后p1在位置1,p2在位置2,p3在位置3.......

import numpy as np
import matplotlib.pyplot as plt

x=range(-10,10,1)
y=np.random.rand(20)
huaban=plt.figure(facecolor='pink',figsize=(8,8),dpi=100)

p1 = huaban.add_subplot(221)
p1.plot(x,y,label="sinx",marker='o')
plt.legend(loc='best')
plt.grid(c='r',linestyle=':')

p2=huaban.add_subplot(222)
x1=np.linspace(-np.pi*2,np.pi*2,1000)
y1=np.sin(x1)
p2.plot(x1,y1,label="sinx",color='blue')
plt.legend(loc='best')
plt.grid(c='b',linestyle='--')


p3=huaban.add_subplot(223)
x2=np.random.rand(10)
y2=np.random.rand(10)
x3=np.random.rand(10)
y3=np.random.rand(10)
p3.scatter(x2,y2,c='red',marker='o',label="散点图")
p3.scatter(x3,y3,c='red',marker='^',label="散1")

p4=huaban.add_subplot(2,2,4)
p4.plot(x1,np.cos(x1),label="cosx")
plt.legend('best')
plt.grid(c='c',linestyle=':')
plt.show()

输出结果:
Matplotlib绘图基础详细教程

6.饼状图的绘制

import matplotlib.pyplot as plt
x=[35,25,25,15]
colors=["#14615E", "#F46C40", "#3E95C0", "#A17D3B"]
name=['A','B','C','D']
label=['35.00%','25.00%','25.00%','15.00%']
huaban=plt.figure()
p1=huaban.add_subplot(111)

p1.pie(x,labels=name,colors=colors,autopct='%1.2f%%',explode = (0, 0.2, 0, 0))
plt.axis('equal')
plt.show()

输出结果:
Matplotlib绘图基础详细教程

7.热力图的绘制

import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(4,4))
# Fixing random state for reproducibility
#np.random.seed(19680801)
#创建子图1
plt.subplot(211)
plt.imshow(np.random.random((10, 10)), cmap="hot")

#创建子图2
plt.subplot(212)
plt.imshow(np.random.random((5, 5)), cmap="winter")

plt.subplots_adjust(bottom=0.09, right=0.5, top=0.9)
cax = plt.axes([0.75, 0.1, 0.065, 0.8])
plt.colorbar(cax=cax)


plt.show()

输出结果:
Matplotlib绘图基础详细教程文章来源地址https://www.toymoban.com/news/detail-414156.html

到了这里,关于Matplotlib绘图基础详细教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据分析 — Matplotlib 、Pandas、Seaborn 绘图

    Matplotlib 是一个用于 绘制数据可视化图形的 Python 库 。它提供了丰富的绘图工具,可以用于创建各种类型的图表。 安装和导入: pip install matplotlib import matplotlib.pyplot as plt # 导入 Matplotlib 库 图表适用场景总结: 1、折线图:表示数据的趋势情况,如几年每个月份的销量走势、

    2024年02月19日
    浏览(42)
  • Matplotlib绘图知识小结--Python数据分析学习

    一、Pyplot子库绘制2D图表 1、Matplotlib Pyplot Pyplot 是 Matplotlib 的子库,提供了和 MATLAB 类似的绘图 API。 Pyplot 是常用的绘图模块,能很方便让用户绘制 2D 图表。 Pyplot 包含一系列绘图函数的相关函数,每个函数会对当前的图像进行一些修改,例如:给图像加上标记,生新的图像,

    2024年02月12日
    浏览(46)
  • Python Matplotlib数据可视化绘图之(三)————散点图

    文本 本文我们主要介绍利用Python中的Matplotlib模块进行几种散点图的画法,包括整张图片只有一种颜色的不分组散点图、整张图片有好几种颜色的不分组散点图、整张图片有好几种颜色的分组散点图等。 主要利用Python中的Matplotlib模块完成该功能。 表格如下(示例): 班别

    2024年02月07日
    浏览(54)
  • Python Matplotlib数据可视化绘图之(一)————柱状图

    本文我们主要介绍利用Python中的Matplotlib模块进行几种柱状图的画法,包括整张图片只有一种颜色的不分组柱状图、整张图片有好几种颜色的不分组柱状图、整张图片有好几种颜色的分组柱状图等。 主要利用Python中的Matplotlib模块完成该功能。 表格如下(示例): 语言种类

    2024年02月06日
    浏览(69)
  • Python Matplotlib数据可视化绘图之(二)————箱线图

    本文我们主要介绍利用Python中的Matplotlib模块进行几种箱线图的画法,包括整张图片只有一种颜色的不分组箱线图、整张图片有好几种颜色的不分组箱线图、整张图片有好几种颜色的分组箱线图等。 主要利用Python中的Matplotlib模块完成该功能。 表格如下(示例): 班别 语文成

    2024年02月05日
    浏览(53)
  • 【深度学习】 Python 和 NumPy 系列教程(十五):Matplotlib详解:2、3d绘图类型(1):线框图(Wireframe Plot)

    目录  一、前言 二、实验环境 三、Matplotlib详解  1、2d绘图类型 2、3d绘图类型 0. 设置中文字体 1. 线框图(Wireframe Plot)         Python是一种高级编程语言,由Guido van Rossum于1991年创建。它以简洁、易读的语法而闻名,并且具有强大的功能和广泛的应用领域。Python具有丰富

    2024年02月08日
    浏览(44)
  • Python数据可视化库Matplotlib绘图学习(二维)&数学建模

    如果没有出现错误,就说明安装成功。 一元二次函数图像: 运行效果: 解释: as: 重命名,将长串的函数库改一个容易书写的名字 range函数: 生成范围内所有的数字 列表推导式: 列表推导式(List Comprehension)是一种简洁地创建新列表的方法,它可以基于现有的列表、集合

    2024年02月07日
    浏览(47)
  • 【深度学习】 Python 和 NumPy 系列教程(廿四):Matplotlib详解:2、3d绘图类型(10)3D箱线图(3D Box Plot)

    目录 一、前言 二、实验环境 三、Matplotlib详解 1、2d绘图类型 2、3d绘图类型 0. 设置中文字体 1. 3D线框图(3D Line Plot) 2. 3D散点图(3D Scatter Plot) 3. 3D条形图(3D Bar Plot) 4. 3D曲面图(3D Surface Plot) 5. 3D等高线图(3D Contour Plot) 6. 3D向量场图(3D Vector Field Plot) 7. 3D表面投影图

    2024年02月03日
    浏览(46)
  • GO富集绘图绘制方法,零基础教程,替换数据直接作图,完成版R语言脚本

    本期分享一个快速绘制GO富集结果图的方法,主要使用R语言tidyverse包,只需导入数据即可一步出图,可以自定义显示的数目、颜色、筛选参数, 从此以后绘制GO富集图只需1秒 。 下面是一个GO富集分析的结果数据表: ID:表示具体的GO条目 Description:GO条目的描述 RatioF:分子是

    2024年02月12日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包