【matplotlib】1-使用函数绘制图表
创始人
2024-03-17 02:52:15

文章目录

  • 使用函数绘制图表
    • 1.绘制matplotlib图表组成元素的主要函数
    • 2.准备数据
    • 3.函数用法
      • 3.1函数plot()--展现变量的趋势变化
      • 3.2函数scatter()--寻找变量之间的关系
      • 3.3函数xlim()--设置x轴的数值显示范围
      • 3.4函数xlabel()--设置x轴的标签文本
      • 3.5 函数grid()--绘制刻度线的网格线
      • 3.6 函数axhline()--绘制平行与x轴的水平参考线
      • 3.7 函数axvspan()--绘制垂直于x轴的参考区域
      • 3.8 函数annotate()--添加图形内容细节的指向型注释文本
      • 3.9 函数text()--添加图形内容细节的无指向型注释文本
      • 3.10 函数title()--添加图形内容的标题
      • 3.11 函数legend()--标识不同图形的文本标签图例
    • 函数综合应用

使用函数绘制图表

1.绘制matplotlib图表组成元素的主要函数

在一个图形输出窗口中,底层是一个Figure实例,通常称之为画布,包含一些可见和不可见的元素。在画布上的就是图形,图形是一些Axes实例,里面几乎包含了matplotlib的组成元素,例如坐标轴、刻度、标签、线和标记等。

2.准备数据

我们可以导入第三方包NumPy和快速绘图模块pyplot,matplotlib库就是建立在科学计算包NumPy基础之上的Python绘图库。

import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0.5, 3.5, 100) # 在0.5到3.5之间均匀地取100个数
y = np.sin(x)
y1 = np.random.randn(100) # 在标准正态分布中随机地取100个数

3.函数用法

3.1函数plot()–展现变量的趋势变化

函数功能: 展现变量的趋势变化
调用签名: plt.plot(x, y, ls=‘-’, lw=2, label=‘plot figure’)
参数说明:

  • x: x轴上的数值
  • y: y轴上的数值
  • ls: 折线图的线条风格
  • lw: 折线图的线条宽度
  • label: 标记图形内容的标签文本
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0.05, 10, 1000)
y = np.cos(x)plt.plot(x, y, ls='-', lw=2, label='cos(x)')
plt.legend()  # 显示图例plt.show()

plot

3.2函数scatter()–寻找变量之间的关系

函数功能: 寻找变量之间的关系
调用签名: plt.scatter(x, y, c=‘b’, label=‘scatter figure’)
参数说明:

  • x: x轴上的数值
  • y: y轴上的数值
  • c: 散点图的标记颜色
  • label: 标记图形内容的标签文本
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0.05, 10, 1000)
y = np.random.randn(1000)plt.scatter(x, y, c='b', label='scatter plot')
plt.legend()plt.show()

scatter

3.3函数xlim()–设置x轴的数值显示范围

函数功能: 设置x轴的数值显示范围
调用签名: plt.xlim(xmin, xmax)
参数说明:

  • xmin: x轴上的最小值
  • xmax: x轴上的最大值
  • 平移性: 上面的函数功能,调用签名和参数说明同样可以平移到函数ylim()上
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0.05, 10, 1000)
y = np.random.randn(1000)plt.scatter(x, y, c='b', label='scatter plot')
plt.legend()plt.xlim(0.05, 10)
plt.ylim(0, 1)plt.show()

scatter

3.4函数xlabel()–设置x轴的标签文本

函数功能: 设置x轴的标签文本
调用签名: plt.xlabel(string)
参数说明:

  • xmin: 标签文本的内容
  • 平移性: 上面的函数功能,调用签名和参数说明同样可以平移到函数ylabel()上
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0.05, 10, 1000)
y = np.sin(x)plt.plot(x, y, ls='-', lw=2, c='c', label='sin(x)')
plt.legend()  # 显示图例plt.xlabel('x-axis')
plt.ylabel('y-axis')plt.show()

sin

3.5 函数grid()–绘制刻度线的网格线

函数功能: 绘制刻度线的网格线
调用签名: plt.grid(linestyle=‘:’, color=‘r’)
参数说明:

  • linestyle: 网格线的线条风格
  • color: 网格线的线条颜色
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0.05, 10, 100)
y = np.log(x)plt.plot(x, y, ls='-.', lw=2, c='c', label='y=log(x)')
plt.legend()plt.grid(linestyle=':', color='r')plt.show()

log

3.6 函数axhline()–绘制平行与x轴的水平参考线

函数功能: 绘制平行与x轴的水平参考线
调用签名: plt.axhline(y=0.0, c=‘r’, ls=‘–’, lw=2)
参数说明:

  • y: 水平参考线的出发点
  • c: 参考线的线条颜色
  • ls: 参考线的线条风格
  • lw: 参考线的线条宽度
  • 平移性: 上面的函数功能,调用签名和参数说明同样可以平移到函数axvline()上
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0.05, 10, 100)
y = np.sin(x)plt.plot(x, y, ls='-.', lw=2, c='c', label='sin(x)')
plt.legend()plt.axhline(y=0.0, c='r', ls='--', lw=2)
plt.axvline(x=4.0, c='r', ls='--', lw=2)plt.show()

sin

3.7 函数axvspan()–绘制垂直于x轴的参考区域

函数功能: 绘制垂直于x轴的参考区域
调用签名: plt.axvspan(xmin=1.0, xmax=2.0, facecolor=‘y’, alpha=0.3)
参数说明:

  • xmin: 参考区域的起始位置
  • xmax: 参考区域的终止位置
  • facecolor: 参考区域的填充颜色
  • alpha: 参考区域的填充颜色的透明度
  • 平移性: 上面的函数功能,调用签名和参数说明同样可以平移到函数axhspan()上
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0.05, 10, 1000)
y = np.sin(x)plt.plot(x, y, ls='-.', lw=2, c='c', label='sin(x)')
plt.legend()plt.axvspan(xmin=4.0, xmax=6.0, facecolor='y', alpha=0.3)
plt.axhspan(ymin=0.0, ymax=0.5, facecolor='y', alpha=0.3)plt.show()

sin

3.8 函数annotate()–添加图形内容细节的指向型注释文本

函数功能: 添加图形内容细节的指向型注释文本
调用签名: plt.annotate(string,xy=(np.pi/2, 1.0), xytext=((np.pi/2)+0.15, 1.5), weight=‘bold’, color=‘b’, arrowprops=dict(arrowstyle=‘->’, connectionstyle=‘arc3’, color=‘b’))
参数说明:

  • string: 图形内容的注释文本
  • xy: 被注释的图形内容的位置坐标
  • xytext: 注释文本的位置坐标
  • weight: 注释文本的字体粗细风格
  • color: 注释文本的字体颜色
  • arrowprops: 指示被注释内容的箭头的属性字典
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0.05, 10, 1000)
y = np.sin(x)plt.plot(x, y, ls='-.', lw=2, c='c', label='sin(x)')
plt.legend()plt.annotate("maximum",xy=(np.pi/2, 1.0),xytext=(np.pi/2+1.0, 0.8),weight='bold',color='b',arrowprops=dict(arrowstyle='->', connectionstyle='arc3', color='b'))plt.show()

sin

3.9 函数text()–添加图形内容细节的无指向型注释文本

函数功能: 添加图形内容细节的无指向型注释文本
调用签名: plt.text(x, y, string, weigth=‘bold’, color=‘b’)
参数说明:

  • x: 注释文本内容所在位置的横坐标
  • y: 注释文本内容所在位置的纵坐标
  • string: 注释文本内容
  • weight: 注释文本的字体粗细风格
  • color: 注释文本的字体颜色
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0.05, 10, 1000)
y = np.sin(x)plt.plot(x, y, ls='-', lw=2, c='c', label='sin(x)')
plt.legend()  # 显示图例plt.text(3.10, 0.09, "y=sin(x)", weight="bold", color="b")plt.show()

sin

3.10 函数title()–添加图形内容的标题

函数功能: 添加图形内容的标题
调用签名: plt.title(string)
参数说明:

  • string: 图形内容的标题文本
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0.05, 10, 1000)
y = np.sin(x)plt.plot(x, y, ls='-', lw=2, c='c', label='sin(x)')
plt.legend()  # 显示图例plt.title('sin(x)')  # 标题plt.show()

sin

3.11 函数legend()–标识不同图形的文本标签图例

函数功能: 标识不同图形的文本标签图例
调用签名: plt.legend(loc=‘lower left’)
参数说明:

  • loc: 图例在图中的地理位置
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0.05, 10, 1000)
y = np.sin(x)plt.plot(x, y, ls='-', lw=2, c='c', label='sin(x)')
plt.legend(loc='lower left')  # 显示图例plt.title('sin(x)')  # 标题plt.show()

sin

函数综合应用

import matplotlib.pyplot as plt
import numpy as np
from matplotlib import cm as cm  # color map# define data
x = np.linspace(0.5, 3.5, 100)
y = np.sin(x)
y1 = np.random.randn(100)# scatter figure
plt.scatter(x, y1, c='0.25', label='scatter figure')# plot figure
plt.plot(x, y, ls='--', lw=2, c='r', label='plot figure')# some clean up (removing chartjunk)
for spine in plt.gca().spines.keys():if spine == "top" or spine == "right":plt.gca().spines[spine].set_color('none')# turn bottom ticks for x-axis on
plt.gca().xaxis.set_ticks_position('bottom')
# set tick_line position of bottom# turn left ticks for y-axis on
plt.gca().yaxis.set_ticks_position('left')
# set tick_line position of left# set x,yaxis limit
plt.xlim(0.0, 4.0)
plt.ylim(-3.0, 3.0)# set axes labels
plt.xlabel('x_axis')
plt.ylabel('y_axis')# set x,yaxis grid
plt.grid(True, ls=':', color='r')# add a horizontal line across the axis
plt.axhline(y=0.0, c='r', ls='--', lw=2)# add a vertical span across the axis
plt.axvspan(xmin=1.0, xmax=2.0, facecolor='y', alpha=0.3)# set annotating info
plt.annotate('maximum', xy=(np.pi / 2, 1.0),xytext=(np.pi / 2 + 0.15, 1.5), weight='bold', color='r',arrowprops=dict(arrowstyle='->', connectionstyle='arc3', color='r'))plt.annotate('spines', xy=(0.75, -3),xytext=(0.35, -2.25), weight='bold', color='b',arrowprops=dict(arrowstyle='->', connectionstyle='arc3', color='b'))plt.annotate('', xy=(0, -2.78),xytext=(0.4, -2.32),arrowprops=dict(arrowstyle='->', connectionstyle='arc3', color='b'))plt.annotate('', xy=(3.5, -2.98),xytext=(3.6, -2.70),arrowprops=dict(arrowstyle='->', connectionstyle='arc3', color='b'))# set text info
plt.text(3.6, -2.70, "'|' is tickline", weight='bold', color='b')
plt.text(3.6, -2.95, "3.5 is ticklabel", weight='bold', color='b')# set title
plt.title('structure of matplotlib')# set legend
plt.legend()plt.show()

structure

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...