python数据可视化-matplotlib学习总结

目录

(一)常见的图形

1、趋势图(直线图):plot()

2、散点图:scatter():

(二)统计图形

1、柱状图:bar(

2、条形图:barh()

3、直方图:hist()

4、饼图:pie()

5、级线图:polar()

6、气泡图(散点图):scatter()

7、树状图(棉棒图):stem()

8、箱线图:boxplot()

9、误差棒图:errorbar()

 (三)图形样式

1、设置刻度样式

2、增加指示注解与无指示注解

3、标题与坐标轴的投影效果

4、转移坐标轴

5、划分窗口:subplot()

(一)常见的图形

1、趋势图(直线图):plot()

import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei,Times New Roman, Arial'#设置字体格式,显示中文、正负号,罗马数字
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0, 10, 100)  # 生成0~10之间的100个数
y = np.sin(x)  # 计算纵坐标
plt.plot(x, y)  # 绘制折线图
plt.title('Sin函数图像')  # 添加标题
plt.xlabel('x轴')  # 添加x轴标签
plt.ylabel('y轴')  # 添加y轴标签
#plt.xlim(-2,2)     #设定 x 坐标轴的显示范围在[-2,2]
#plt.axhline(y=0)    #添加水平参考线
#plt.grid()  #绘制网格线
#plt.axhline(y=0)    #绘制y=0的刻度线
#plt.axvspan(-4,2,facecolor='gray', alpha=0.3)    #添加在-4到2的垂直方向的颜色区域,填充颜色为灰色,透明度为 0.3plt.show()  # 显示图形

pyplot 参数:

  • x:x轴数据,一般是一个数组或列表。

  • y:y轴数据,一般是一个数组或列表。

  • label:标签,用于说明数据的名称或含义。xlabel用于x轴,ylabel用于y轴

  • color或c:颜色,默认是蓝色,也可以是RGB值或颜色名称。

  • marker:点标记,用于显示每个数据点的形状。

  • linestyle或ls:线条类型,用于控制线条的样式、粗细等。

  • linewidth或lw:线条宽度,用于控制线条的宽度。

  • alpha:透明度,用于控制线条或点标记的透明度。

  • xlimylim:x轴和y轴的范围,用于设定坐标轴的刻度范围。

  • title:标题,用于给整个图形添加标题。

  • gird:绘制刻度线网格线

  • axhline:绘制平行于x轴的水平参数线

  • axvspan:绘制垂直于 x轴的水平参数区域

  • annotate:添加图形内容细节的指向型注释

  • text:添加图形内容细节的无指向型注释

  • legend:用于在图像中添加自定义的图例

 结果:

 

2、散点图:scatter():

import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei,Times New Roman, Arial'#设置字体格式,显示中文、正负号,罗马数字
import matplotlib.pyplot as plt
import numpy as np# 设置数据
x = np.random.rand(50)
y = np.random.rand(50)
# 绘制散点图
plt.scatter(x, y, s=50, c='b', marker='o', alpha=0.5)
# 添加标题和坐标轴标签
plt.title('散点图')
plt.xlabel('x轴')
plt.ylabel('y轴')
# 显示图像
plt.show()

参数解释:

  • x :散点图 x 轴的数据;
  • y :散点图 y 轴的数据;
  • s :散点的尺寸,即标记的大小;
  • c :散点的颜色;
  • marker :散点的形状,默认是圆形;
  • alpha :透明度,取值范围为 0~1,值越小透明度越高。

 结果:

 

(二)统计图形

1、柱状图:bar(

bar(x, height, width=0.8, bottom=None, align='center', data=None, **kwargs)
  • x:柱形图的 x 坐标数据;
  • height:柱形图的高度,对应于每个 x 坐标数据的高度;
  • width:柱形的宽度,默认为 0.8;
  • bottom:柱形的底部位置,默认为 None,表示将底部设定为绘图平面的 y 轴;
  • align:柱形的对齐方式,可以是 'center''edge' 等;
  • data:数据源对象,可以是多种数据类型,例如 DataFrame、Series、数组等;
  • kwargs:其他可选参数,包括柱形颜色、边框颜色、标签位置等相关设置。
import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei,Times New Roman, Arial'#设置字体格式,显示中文、正负号,罗马数字
import matplotlib.pyplot as plt
import numpy as np# 生成数据
x = ['A', 'B', 'C', 'D', 'E']
y = np.random.randint(0, 10, size=(len(x)))# 绘制柱状图
plt.bar(x, y, width=0.6, bottom=None, align='center', alpha=0.8)# 添加标签
for i, v in enumerate(y):plt.text(i, v+0.2, str(v), ha='center', fontsize=10)
# 显示图形
plt.show()

 

2、条形图:barh()

barh(y, width, height=0.8, left=None, align='center', data=None, **kwargs)
  • y:柱形条的 y 坐标数据;
  • width:柱形条的宽度,对应于每个 y 坐标数据的宽度;
  • height:柱形条的高度,默认为 0.8;
  • left:柱形的左侧位置,默认为 None,表示将左侧设定为绘图平面的 x 轴;
  • align:柱形的对齐方式,可以是 'center''edge' 等;
  • data:数据源对象,可以是多种数据类型,例如 DataFrame、Series、数组等;
  • kwargs:其他可选参数,包括柱形颜色、边框颜色、标签位置等相关设置。
import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei,Times New Roman, Arial'#设置字体格式,显示中文、正负号,罗马数字
import matplotlib.pyplot as plt
import numpy as np# 生成数据
y = ['A', 'B', 'C', 'D', 'E']
x = np.random.randint(0, 10, size=(len(y)))# 绘制水平柱状图
plt.barh(y, x, height=0.6, left=None, align='center', alpha=0.8)# 添加标签
for i, v in enumerate(x):plt.text(v+0.2, i, str(v), va='center', fontsize=10)# 显示图形
plt.show()

 

3、直方图:hist()

hist(x, bins=None, range=None, density=False, weights=None, cumulative=False, bottom=None,histtype='bar', align='mid', orientation='vertical',rwidth=None, log=False, color=None, label=None, stacked=False, normed=None, **kwargs)
  • x:需要绘制直方图的数据;
  • bins:用于指定每个直方的宽度,可以是单个整数、序列或者字符串。默认为 10,表示将数据范围等分成 10 份;
  • range:需要绘制直方图的数据范围;
  • density:是否将直方图归一化,其值默认为 False;
  • weights:用于构成直方图的权重数组;
  • cumulative:是否需要绘制累积频率图,默认为 False;
  • bottom:堆叠图的底部高度;
  • histtype:指定直方图类型,可以是 'bar''barstacked''step''stepfilled' 等;
  • align:直方图的对齐方式;
  • orientation:直方图的绘制方式,可以是 'horizontal' 或者 'vertical'
  • rwidth:直方图的相对宽度,值为 1 的时候没有空隙,值为 0.5 的时候间距等于直方图宽度的一半;
  • log:是否对 y 轴进行对数变换;
  • color:直方图的颜色;
  • label:直方图的标签;
  • stacked:是否采用堆叠方式绘制直方图,默认为 False;
  • normed:已被弃用,可以使用 density 参数替代;
  • kwargs:其他可选参数,包括直方图边框、填充、颜色等相关设置。
import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei,Times New Roman, Arial'#设置字体格式,显示中文、正负号,罗马数字
import matplotlib.pyplot as plt
import numpy as npnp.random.seed(2022)
data = np.random.randn(10000)# 绘制直方图
plt.hist(data, bins=40, range=(-4, 4), density=False, alpha=0.8, color='blue')
plt.xlabel('x')
plt.ylabel('频率')
plt.title('直方图')# bins 设为 40,表示将数据范围等分成 40 份;
# range 设为 (-4, 4),表示数据范围在[-4,4]之间
# density 设为 False,表示不需要将直方图归一化;
# alpha 设为 0.8,表示直方图颜色透明度为 0.8;
# color 设为 'blue',表示直方图颜色为蓝色;# 显示图像
plt.show()

 

4、饼图:pie()

pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, counterclock=True, wedgeprops=None, textprops=None, center=(0, 0), frame=False, rotatelabels=False, **kwargs)
  • x:用于绘制饼图的数据,可以是数组、列表、元组等可迭代对象;
  • explode:用于指定每个饼图之间的偏移量;
  • labels:用于指定每个饼图对应的标签;
  • colors:用于指定每个饼图对应的颜色;
  • autopct:用于指定每个饼图占比的格式字符串;
  • pctdistance:用于指定占比标签距离圆心的距离;
  • shadow:是否需要添加阴影效果,默认为 False;
  • labeldistance:指定每个饼图标签与圆心的距离的倍数;
  • startangle:指定饼图开始绘制的角度,默认为 0;
  • radius:指定饼图的半径;
  • counterclock:指定饼图绘制的方向,默认为 True,即逆时针方向绘制;
  • wedgeprops:用于指定饼图环的属性,例如 linewidth、edgecolor 等;
  • textprops:用于指定占比标签的属性,例如 fontsize、color 等;
  • center:指定饼图的中心位置坐标;
  • frame:是否需要绘制边框,默认为 False;
  • rotatelabels:是否需要对饼图标签进行旋转,默认为 False;
  • kwargs:其他可选参数,包括绘图风格、字体、字号等相关设置。

import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei,Times New Roman, Arial'#设置字体格式,显示中文、正负号,罗马数字
import matplotlib.pyplot as plt
import numpy as npnp.random.seed(2022)
data = np.random.randn(10000)import matplotlib.pyplot as plt# 生成数据
labels = ['A', 'B', 'C', 'D', 'E']
sizes = [15, 30, 45, 10, 5]
colors = ['red', 'blue', 'green', 'orange', 'gray']
explode = [0.1, 0, 0, 0, 0]# 绘制饼图
plt.pie(sizes, explode=explode, labels=labels, colors=colors,autopct='%1.1f%%', shadow=True, startangle=90)plt.axis('equal')
plt.show()

 

5、级线图:polar()

polar(theta, r, **kwargs)
  • theta:用于绘制极坐标图的角度数据,单位为弧度;
  • r:用于绘制极坐标图的大小数据,表示一组与角度对应的大小数据,与 theta 相对应;
  • kwargs:其他可选参数,包括极坐标的填充、颜色等相关设置。
import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei,Times New Roman, Arial'#设置字体格式,显示中文、正负号,罗马数字
import matplotlib.pyplot as plt
import numpy as np# 生成一些随机数据
theta = np.linspace(0, 2*np.pi, 1000)
r = np.random.rand(1000)# 绘制极坐标图
plt.polar(theta, r)
plt.show()

 

6、气泡图(散点图):scatter()

scatter(x, y, s=None, c=None, marker=None, cmap=None, 
norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, 
edgecolors=None, plotnonfinite=False, data=None, **kwargs)
  • x:散点图的 x 坐标;
  • y:散点图的 y 坐标;
  • s:散点的大小(面积),可以是常数、数组、列表或者元组;
  • c:散点的颜色,可以是常数、数组、列表或者元组;
  • marker:散点的标记符号;
  • cmap:用于指定散点颜色的 colormap;
  • norm:用于指定 colormap 的归一化方法;
  • vmin:用于指定 colormap 的最小值;
  • vmax:用于指定 colormap 的最大值;
  • alpha:散点的透明度;
  • linewidths:用于指定散点边缘线宽度;
  • edgecolors:用于指定散点边缘线颜色,默认为 'face',表示使用散点颜色;
  • plotnonfinite:是否需要绘制非有限数值,默认为 False;
  • data:数据源对象,可以是多种数据类型,例如 DataFrame、Series、数组等;
  • kwargs:其他可选参数,包括散点颜色、边缘线颜色、标签位置等相关设置
import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei,Times New Roman, Arial'#设置字体格式,显示中文、正负号,罗马数字
import matplotlib.pyplot as plt
import numpy as np# 生成数据
np.random.seed(2022)
x = np.random.randn(50)
y = np.random.randn(50)
colors = np.random.randint(0, 10, 50)# 绘制散点图
plt.scatter(x, y, s=20*abs(x+y)+100, c=colors, cmap='viridis', alpha=0.8)# 添加红色边缘线
plt.scatter(x, y, s=20*abs(x+y)+100, facecolors='none', edgecolors='red', linewidths=1)# 添加标题和坐标轴标签
plt.title('气泡图')
plt.xlabel('X')
plt.ylabel('Y')# 显示图像
plt.show()

 

7、树状图(棉棒图):stem()

stem(x, y, linefmt=None, markerfmt=None, basefmt=None, bottom=None, label=None, use_line_collection=None, data=None, **kwargs)
  • x:树状图的 x 坐标;
  • y:树状图的 y 坐标;
  • linefmt:用于指定树状图线段的格式字符串;
  • markerfmt:用于指定树状图标记的格式字符串;
  • basefmt:用于指定树状图基线的格式字符串;
  • bottom:使用堆叠样式绘制树状图时的基线高度;
  • label:树状图的标签;
  • use_line_collection:是否使用 LineCollection 来绘制线段,默认为 True;
  • data:数据源对象,可以是多种数据类型,例如 DataFrame、Series、数组等;
  • kwargs:其他可选参数,包括线段样式、标记样式、标签位置等相关设置。
# 生成数据
np.random.seed(2022)
x = np.linspace(0.0, 2.0*np.pi, 100)
y = np.sin(x)x = np.arange(0, 10, 1)
y = np.random.rand(10)# 绘制离散波形图
plt.stem(x, y)
plt.show()

8、箱线图:boxplot()

boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, widths=None, patch_artist=None, bootstrap=None, usermedians=None, conf_intervals=None, meanline=None, showmeans=None, showcaps=None, showbox=None, showfliers=None, boxprops=None, labels=None, flierprops=None, medianprops=None, meanprops=None, capprops=None, whiskerprops=None, manage_xticks=True, autorange=False, zorder=None, data=None)
  • x:箱线图的数据,可以是数组、列表、DataFrame 等;
  • notch:是否绘制缺口,默认为 False,表示绘制箱线图而非半个月牙形的齿状图;
  • sym:用于指定离群点的标记符号,默认为 None
  • vert:是否绘制竖向的箱线图,默认为 True
  • whis:用于指定箱线图的上下位置(须)的长度,默认为 1.5
  • positions:用于指定箱线图的位置,默认为 [1, 2, ..., n],其中 n 为数据列数量;
  • widths:用于指定箱线图的宽度;
  • patch_artist:是否允许填充箱线图,主要用于自定义颜色和样式,默认为 False
  • bootstrap:用于指定计算置信区间的样本数;
  • usermedians:手动指定中位数值;
  • conf_intervals:用于指定计算置信区间方法和置信水平,默认为 None
  • meanline:是否绘制均值线,默认为 False
  • showmeans:是否显示均值值,默认为 False,通常不建议显示;
  • showcaps:是否显示箱线图末端的 whisker 线段,默认为 True
  • showbox:是否显示箱线图框体,默认为 True
  • showfliers:是否显示离群点,默认为 True
  • boxprops:用于指定箱线图框体的属性,例如 linewidth、edgecolor 等;
  • labels:用于指定箱线图的标签;
  • flierprops:用于指定离群点的属性,例如 markersize、markerfacecolor 等;
  • medianprops:用于指定中位数线的属性,例如 linewidth、color 等;
  • meanprops:用于指定均值线的属性,例如 linewidth、linestyle、color 等;
  • capprops:用于指定箱线图 whisker 线段末端的帽子的属性,例如 linewidth、linestyle、color 等;
  • whiskerprops:用于指定箱线图 whisker 线段的属性,例如 linewidth、linestyle、color 等;
  • manage_xticks:是否需要自动管理 x 轴刻度,默认为 True
  • autorange:是否自动调整坐标轴范围,默认为 False
  • zorder:用于指定图层顺序,通常不需要设置;
  • data:数据源对象,可以是多种数据类型,例如 DataFrame、Series、数组等。
import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei,Times New Roman, Arial'#设置字体格式,显示中文、正负号,罗马数字
import matplotlib.pyplot as plt
import numpy as np# 生成一些随机数据
data = np.random.randn(100, 5)# 绘制箱线图
plt.boxplot(data)
plt.show()

 

 

9、误差棒图:errorbar()

errorbar(x, y, yerr=None, xerr=None, fmt='', ecolor=None, elinewidth=None, capsize=None, barsabove=False, lolims=False, uplims=False, xlolims=False, xuplims=False, errorevery=1, capthick=None, label='', **kwargs)
  • x:误差棒图的 x 坐标;
  • y:误差棒图的 y 坐标;
  • yerr:用于指定误差范围的垂直线段长度,可以使数字、标量或者数组;
  • xerr:用于指定误差范围的水平线段长度,可以使数字、标量或者数组;
  • fmt:用于指定点的颜色、线型和标记符号的格式;
  • ecolor:用于指定误差线段和帽子的颜色;
  • elinewidth:用于指定误差线段的线宽;
  • capsize:用于指定误差帽子的大小;
  • barsabove:是否将误差棒图绘制在数据点之上;
  • lolims:是否绘制小于数据点的下限误差;
  • uplims:是否绘制大于数据点的上限误差;
  • xlolims:是否绘制小于数据点的水平下限误差;
  • xuplims:是否绘制大于数据点的水平上限误差;
  • errorevery:用于指定错误条目的抽样间隔;
  • capthick:用于指定误差帽子的线宽;
  • label:标注名称;
  • kwargs:其他可选参数,包括误差帽子哪里停止等相关设置。
import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei,Times New Roman, Arial'#设置字体格式,显示中文、正负号,罗马数字
import matplotlib.pyplot as plt
import numpy as np#生成数据
x = np.arange(0, 10, 1)
y = np.random.rand(10)
yerr = np.random.rand(10) * 0.2# 绘制带误差线的散点图
plt.errorbar(x, y, yerr=yerr, fmt='o')
plt.show()

 (三)图形样式

1、设置刻度样式

设置刻度样式需要两个方法:xticks与yticks:

xticks(ticks=None, labels=None, **kwargs)
yticks(ticks=None, labels=None, **kwargs)
  • ticks:用于设置刻度位置的序列或者数组;
  • labels:用于设置刻度标签的序列或者数组;
  • kwargs:其他可选参数,例如字体、字号、旋转角度等。

常用场景

设置刻度标签字体大小

import matplotlib.pyplot as plt# 创建图形,并设置 x 轴、y 轴刻度标签字体大小为 14
fig, ax = plt.subplots()
ax.tick_params(axis='both', labelsize=14)

 设置刻度间隔和范围

import numpy as np
import matplotlib.pyplot as plt# 创建图形并绘制曲线
x = np.linspace(0, 10, 100)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y)# 设置 x 轴刻度范围为 0 到 10,刻度间隔为 2
ax.set_xticks(np.arange(0, 11, 2))

自定义刻度标签

import numpy as np
import matplotlib.pyplot as plt# 创建图形并绘制曲线
x = np.linspace(0, 10, 100)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y)# 自定义 y 轴刻度标签
ax.set_yticks([-1, 0, 1])
ax.set_yticklabels(['Low', 'Medium', 'High'])

隐藏刻度

import numpy as np
import matplotlib.pyplot as plt# 创建图形并绘制曲线
x = np.linspace(0, 10, 100)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y)# 隐藏 y 轴刻度
ax.tick_params(axis='y', which='both', length=0)

2、增加指示注解与无指示注解

添加指示注解:

annotate(text, xy, xytext=None, arrowprops=None, **kwargs)
  • text:注释文本内容;
  • xy:注释目标坐标,表示箭头所在位置;
  • xytext:注释文本的位置,如果未指定则默认为 xy 参数;
  • arrowprops:箭头的属性,可以指定箭头的长度、宽度、颜色等;
  • kwargs:其他一些可选参数,包括文本颜色、字体、字号等。

import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei,Times New Roman, Arial'#设置字体格式,显示中文、正负号,罗马数字
import matplotlib.pyplot as plt
import numpy as np# 生成数据
x = np.linspace(0, 1, 100)
y = np.sin(x*10)# 绘制 sin(x) 的图像
plt.plot(x, y)# 添加注释:最大值处对应的 x 坐标和 y 坐标
max_y = np.max(y)
max_idx = np.argmax(y)
plt.annotate(f'Max={max_y:.2f}', xy=(x[max_idx], max_y),xytext=(x[max_idx]-0.2, max_y+0.3),arrowprops=dict(arrowstyle='->', lw=2))# 显示图形
plt.show()

 

添加无指示注解

text(x, y, s, fontdict=None, withdash=False, **kwargs)
  • x 和 y:文本框的位置,可以是图像坐标、数据坐标或者坐标轴分数坐标等;
  • s:文本标签内容;
  • fontdict:字体属性参数,支持字体、字号、颜色等相关设置;
  • withdash:文本边框属性,可以设置是否使用虚线边框;
  • kwargs:其他可选参数,包括纵横比、文本排列、旋转角度、对齐方式等相关设置。
import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei,Times New Roman, Arial'#设置字体格式,显示中文、正负号,罗马数字
import matplotlib.pyplot as plt
import numpy as np# 生成数据
x = np.linspace(-5, 5, 100)
y = np.sin(x)# 绘制 sin(x) 的图像
plt.plot(x, y)# 添加文本标签:最大值处对应的 x 坐标和 y 坐标
max_y = np.max(y)
max_idx = np.argmax(y)
plt.text(x[max_idx], max_y, f'Max={max_y:.2f}', fontsize=12,color='red', ha='center', va='bottom')# 显示图形
plt.show()

3、标题与坐标轴的投影效果

设置投影效果需要用到set_path_effects()

import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei,Times New Roman, Arial'#设置字体格式,显示中文、正负号,罗马数字
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.patheffects as pex = np.linspace(0, 10, 100)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y)ax.plot(x, y)
ax.set_title('sin(x)')# 设置标题阴影效果
title_text_obj = ax.set_title('Title', fontsize=18, fontweight='bold')
title_text_obj.set_path_effects([pe.withStroke(linewidth=2, foreground='gray')])# 设置坐标轴标签阴影效果
x_label_obj = ax.set_xlabel('X Label', fontsize=16)
y_label_obj = ax.set_ylabel('Y Label', fontsize=16)
x_label_obj.set_path_effects([pe.withStroke(linewidth=1, foreground='gray')])
y_label_obj.set_path_effects([pe.withStroke(linewidth=1, foreground='gray')])plt.show()

4、转移坐标轴

转移坐标轴需要用到set_zorder方法

import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei,Times New Roman, Arial'#设置字体格式,显示中文、正负号,罗马数字
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
fig, ax = plt.subplots()ax.plot(x, y)
ax.set_title('sin(x)')# 将 x 轴和 y 轴的刻度放到图形的顶部和右侧
ax.xaxis.tick_top()
ax.yaxis.tick_right()# 设置标题和坐标轴的深度值
ax.title.set_zorder(1)
ax.xaxis.label.set_zorder(1)
ax.yaxis.label.set_zorder(1)
ax.xaxis.set_tick_params(pad=10, zorder=1)
ax.yaxis.set_tick_params(pad=10, zorder=1)# 设置坐标轴投影线条的样式和深度值
ax.spines['bottom'].set_visible(False)
ax.spines['left'].set_visible(False)
ax.spines['top'].set_linestyle('-')
ax.spines['right'].set_linestyle('-')
ax.spines['top'].set_zorder(0)
ax.spines['right'].set_zorder(0)plt.show()

 

 

5、划分窗口:subplot()

subplot(nrows, ncols, index, **kwargs)
  • nrows:子图表格的行数;
  • ncols:子图表格的列数;
  • index:子图在表格中的位置(从左到右、从上到下的编号);
  • kwargs:其他可选参数,例如坐标轴刻度、标题、标签字体等。
import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei,Times New Roman, Arial'#设置字体格式,显示中文、正负号,罗马数字
import matplotlib.pyplot as plt
import numpy as np#生成数据
np.random.seed(2022)
x = np.linspace(0.0, 4.0*np.pi, 100)
y_sin = np.sin(x)
y_cos = np.cos(x)# 绘制正弦函数
plt.subplot(2, 1, 1)
plt.plot(x, y_sin, 'g-', linewidth=2, label='sin(x)')
plt.legend(loc='upper right')
plt.title('Sin(x)与Cos(x)')# 绘制余弦函数
plt.subplot(2, 1, 2)
plt.plot(x, y_cos, 'r-', linewidth=2, label='cos(x)')
plt.legend(loc='lower right')plt.xlabel('X')# 显示图像
plt.show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/354127.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

搭建ubuntu容器内C/C++开发调试环境

一、创建容器 为了让容器内的调试器(gdb、lldb)能够正常调试,在创建容器时需要添加参数: podman添加参数:--cap-addSYS_PTRACE,docker添加参数--cap-addSYS_PTRACE --security-opt seccompunconfined 否…

不知道图片变漫画怎么弄?来跟我学这几个简单的方法

我想问经常换头像的朋友一个问题,你们有用过自己的漫画脸当头像吗?如果我们把自己的头像做成漫画脸不仅不容易和别人撞头像而且更加能贴合我们自身的形象。那你们知道漫画脸怎么拍吗?今天我来给大家分享几个漫画脸制作都的方法。有兴趣的朋友…

适合剪辑新手的几个网站

现在越来越多的人喜欢剪辑视频了,现在我就推荐几个不错的适合剪辑新手的网站。 1.Videvo 这是一个提供高清或 4K 音频和视频的网站。它的视频分类详细,主要的分类有镜头和图文。 我更喜欢它的镜头类型下的视频,每一帧都很好看! …

古画会唱歌/图片说话对口型视频教程+工具素材

正文: 一张人物古画对口型,配上一段搞笑的配音,轻轻松松就能获得十几万的点赞,这个适合小白去操作,不仅好玩有趣涨粉还特别快。 视频演示放到压缩包了,有兴趣的自己去看吧。 教程工具素材 全部打包: wwreh.lanzoui…

短视频剪辑的小技巧分享,助你剪出令人印象深刻的片段,吸粉引流

短视频剪辑的小技巧分享,助你剪出令人印象深刻的片段,吸粉引流 短视频剪辑说难也难,但是说简单其实也简单,毕竟只要认真学习,大概几天就可以基本掌握短视频剪辑的流程,只是如果想要剪辑出来可以吸粉引流的…

全网最简单的网络图画法,小白福音包学包会

全网最简单的网络图画法,小白福音包学包会 徐锐(助理研究员),广东省生态环境技术研究所,土壤微生物与宏基因组方向 版本1.0.1,更新日期:2020年6月23日 本项目永久地址:https://githu…

Python程序设计基础:标识符、变量与赋值、输入输出

文章目录 一、标识符二、变量与赋值三、输入输出 一、标识符 Python对每个标识符的命名存在要求: 1、每个标识符必须以字母或下划线“_”开头,后跟字母、数字或下划线的任意序列。根据这个规则,以下都是Python中的合法名称:a&…

光纤熔接之盘纤技巧(首先你得有一把好切割刀)

光纤熔接不可忽视的一个步骤——【盘纤】。科学的盘纤方法,可使光纤布局合理、附加损耗小、经得住时间和恶劣环境的考验,可避免挤压造成的断纤现象。 很多自称干了10多年的光纤熔接师傅盘起来的光纤“惨不忍睹” 整个光纤熔接是一门细致的手艺活。光纤熔…

第三篇——胡咧咧之动漫素材如何剪辑,只拼接可以吗?

第三篇——胡咧咧之动漫素材如何剪辑,只拼接可以吗? 上一篇告诉大家如何下载素材了,现在大家电脑里都有素材了,可是,不能直接发布到抖音里,否则,就是版权侵权,违规,轻则…

爬了1000张清纯妹子私房照,我流鼻血了...

闲扯几句 大家好,我是你们的老朋友青戈,之前分享了一篇Java爬虫的入门实战教程,收获了不少赞,看来大家伙对爬虫的热情度还是蛮高的哈。既然大家都这么想学爬虫,那今天就安排点刺激的。那你要非问我有多刺激&#xff0…

SpringBootWeb案例-1(上: 来源黑马程序员)

SpringBootWeb案例 完成后的成品效果展示: 主要内容如下: 准备工作部门管理 1. 准备工作 我们先从"需求"和"环境搭建"开始入手。 1.1 需求&环境搭建 1.1.1 需求说明 1、部门管理 部门管理功能开发包括: 查询部…

高校学生公寓数字化安全用电管理系统解决方案

摘要 本文针对高校学生公寓用电特点,从安全用电角度提出了一套集用电管理、计量、恶性负载智能识别控制、实时跟踪检测等功能于一体的数字化安全用电管理系统技术解决方案———学生公寓智能控电管理系统。 关键词:公寓恶性负载安全用电智能系统 0、引言 近年来,为了响应国…

短视频矩阵源码系统打包.源码

Masayl是一款基于区块链技术的去中心化应用程序开发平台,可帮助开发者快速、便捷地创建去中心化应用程序。Masayl拥有丰富的API和SDK,为开发者们提供了支持。此外,Masayl还采用了高效的智能合约技术,确保应用程序的稳定、安全和高…

【数据结构与算法分析】反转链表与顺序表(内含源码,思路清晰)

文章目录 介绍实现顺序表反转实现链表反转附链表的一些中间函数 介绍 顺序表和链表都是数据结构中常见的线性表。它们的主要区别在于内存管理方式不同。   顺序表(Array)是由一系列元素按照一定顺序依次排列而成,它使用连续的内存空间存储数…

怎样关闭百度云开机启动服务器,教你解决win10系统设置百度云管家开机自动启动的设置办法...

许多win10系统用户在工作中经常会遇到对win10系统设置百度云管家开机自动启动的设置方法,想必大家都遇到过需要对win10系统设置百度云管家开机自动启动进行设置的情况吧,那么应该怎么设置win10系统设置百度云管家开机自动启动的操作方法非常简单&#xf…

Windows电脑怎么解决百度云管家无法删除也无法打开的问题(臭流氓软件)

实习第一天有的东西需要从百度云上面下载,谁知道直接先给我下载了一个百度云管家,我:???? 然后发现还删除不了,哼,难不倒我。 直接打开任务管理器,找了很久…

如何清除百度云管家计算机图标,Win10此电脑中多了个百度云管家图标如何清除...

百度云管家是百度云的客户端,一些用户为了更加方便地上传下载文件,都会在电脑中安装百度云管家。但是最近有Win10用户反馈,安装了百度云管家后,此电脑中就多了“百度云管家”的图标,怎么删也删不掉,这该怎么…

百度云管家在计算机上删除,百度云管家盘符删不掉怎么办?删除百度云管家盘符的方法...

选择很多的人都喜欢使用百度云盘来进行文件或者的资料的存放,为的就是在其它的地方也能将文件或资料实施开启,就不用再使用硬盘或者是U盘来进行携带,这样不仅减少了很多不必要的麻烦,而且还简单轻松。然我们在使用百度云盘的时候&…

百度云管家下载速度也作假

以前写过一篇,百度云上传流量造假的:点这里 现在根据目前的检测发现:百度云在下载的时候速度造假,大文件测试的结果是:下载造假20%,即用100M的流量实际上只能下载80M的文件 对于按流量计费的小伙伴们&…

百度云管家开机启动如何取消

http://jingyan.baidu.com/article/c85b7a6404edde003bac95ce.html 度云管家在下载方面越来越有吸引力,但是对于大多数朋友来说,并没有需求到每次开机都要使用百度云管家的地步。那么怎么取消百度云管家的开机启动呢? 工具/原料 百度云管家 方…