女生做网站后期维护工作好吗,app网站制作公司,个人网页设计硬件需求,有没有可以做兼职的网站目录 1. Matplotlib介绍 2.绘图示例 2.1 快速绘图示例 2.2 使用默认绘图对象 2.3 绘制多幅图 3. Plot点线图 3.1 绘制函数曲线 3.2绘制参数方程 3.3点线图完整示例 4. Subplot子图 4.1子图示例 4.2 子图-单类型 4.3 子图-多类型 5. Hist直方图 5.1直方图示例 6.…目录1. Matplotlib介绍2.绘图示例2.1 快速绘图示例2.2 使用默认绘图对象2.3 绘制多幅图3. Plot点线图3.1 绘制函数曲线3.2绘制参数方程3.3点线图完整示例4. Subplot子图4.1子图示例4.2 子图-单类型4.3 子图-多类型5. Hist直方图5.1直方图示例6. Bar柱状图6.1 bar柱状图6.2 柱状图堆叠7. Boxplot箱线图7.1 boxplot箱线图7.2 示例8.Pie饼图8.1 pie饼图8.2 示例9. Scatter散点图9.1 scatter散点图9.1 散点图示例9.2 scatter散点图示例10. 总结1. Matplotlib介绍Matplotlib是一个功能强大的数据可视化库提供了各种绘图功能其中包括绘制点线图、直方图、柱状图、饼图、散点图等。通过matplotlib的方式画图通常用于学术论文同时也是一款极适合新手入门的第三方数据可视化库。支持绘制多种类型的图表。高度可定制性允许用户通过调整各种参数来自定义图表的外观。可以方便地使用NumPy等科学计算库的数据进行绘图。可以创建交互式图表允许用户与图表进行交互。可以将图表保存为多种格式的图片或PDF文件方便分享和展示。使用Matplotlib库进行绘图的基本步骤导入Matplotlib库。准备数据。创建图表使用Matplotlib提供的函数创建图表。添加数据到图表将准备好的数据添加到图表中。定制图表外观通过调整参数来自定义图表的外观。显示或保存图表使用plt.show()显示图表或使用plt.savefig()将图表保存为文件。2.绘图示例2.1 快速绘图示例 matplotlib中的快速绘图的函数库可以通过如下语句载入 import matplotlib.pyplot as plt 接下来调用figure创建一个绘图对象并且使它成为当前的绘图对象 # figsize(8,4) 为绘图大小单位为英寸 plt.figure(figsize(8,4)) plt.figure(numNone, figsizeNone, dpiNone, facecolorNone) num 画布编号或名称数字为编号字符串为名称不指定则按照数字顺序 figsize 通过figsize参数可以指定绘图对象的宽度和高度单位为英寸默认为6.4, 4.8 dpi 指定绘图对象的分辨率即每英寸多少个像素缺省值为80。 facecolor 背景的颜色 以下示例把柱状图绘制到8x4的绘图对象 # 数据 x [A, B, C, D, E] # 类别 y [20, 35, 30, 25, 40] # 值 # 创建柱状图 plt.bar(x, y) # 使用plt.bar()方法创建柱状图将类别和值作为参数传入 # 设置标题和标签 plt.title(Bar Example) plt.xlabel(Category) plt.ylabel(Value)图12.2 使用默认绘图对象 也可以不创建绘图对象直接调用接下来的plot函数直接绘图matplotlib会自动创建一个绘图对象。 # import matplotlib.pyplot as plt # 也可以直接使用pylab模块代替matplotlib.pyplot import pylab as plt 以下示例把柱状图绘制到自动创建的绘图对象 # 数据 x [A, B, C, D, E] # 类别 y [20, 35, 30, 25, 40] # 值 # 创建柱状图 plt.bar(x, y) # 设置标题和标签 plt.title(Bar Example) plt.xlabel(Category) plt.ylabel(Value) # 显示图形 plt.show()图22.3 绘制多幅图 如果需要同时绘制多幅图表的话可以是给figure传递一个整数参数指定图标的序号 如果所指定序号的绘图对象已经存在的话将不创建新的对象而只是让它成为当前绘图对象 import matplotlib.pyplot as plt 以下示例把柱状图绘制到绘图对象1和2 # 数据 x [A, B, C, D, E] # 类别 y [20, 35, 30, 25, 40] # 值 plt.figure(1) plt.bar(x, y) # 绘制竖直柱状图 plt.title(Bar Example 1) plt.xlabel(Category) plt.ylabel(Value) plt.show() plt.figure(2) plt.barh(x, y) # 绘制水平柱状图 plt.title(Bar Example 2) plt.xlabel(Category) plt.ylabel(Value) plt.show()图33. Plot点线图plot是 Matplotlib 中最常用的绘图函数之一用于在二维坐标系上绘制线性图和曲线图。函数原型及参数如下plot(x, y, color, linestyle, linewidth, marker, markerfacecolor, markersize, label)x(必选): 用于指定图形的x坐标轴数据(列表)y(必选): 用于指定图形的y坐标轴数据(列表)color: 用于设置数据点的颜色linestyle: 用于设置数据点之间的连线的样式marker: 用于标记数据点的样式markerfacecolor: 标记填充颜色markersize: 标记尺寸用数字表示大小label: 用于设置每个数据集的标签将在图例legend中使用linestyle: 线条样式参数marker: 标记样式3.1 绘制函数曲线# plot点线图示例-绘制函数ysin(10x)/x的曲线 # 导入pylab和numpy模块 import pylab as plt import numpy as np # 生成一个包含100个元素的数组x2这些元素从0.01线性增加到10 x2 np.linspace(0.01, 10, 100) # 计算y2数组其中每个元素是10*x2的正弦值除以x2的值 y2 np.sin(10*x2) / x2 # 绘制y2关于x2的曲线图 plt.plot(x2, y2, label$sin(10x)/x$) # 绘制点线图 plt.xlabel($x$) plt.ylabel($ysin(10x)/x$) plt.legend() # 显示图例 plt.grid() # 显示网格 # 显示所有绘制的图形 plt.show()图43.2绘制参数方程plot点线图示例-参数方程作图 绘制摆线 x a(t - sin(t)) y a(1 - cos(t)) import numpy as np import matplotlib.pyplot as plt a 1 # 生成0到π的等差数列默认50个数字点数越多线条越平滑 t np.linspace(0, 2 * np.pi) x a * (t - np.sin(t)) y a * (1 - np.cos(t)) plt.plot(x, y) # 绘制点线图 plt.grid() # 显示网格 plt.show()图53.3点线图完整示例# plot点线图完整示例 import numpy as np import matplotlib.pyplot as plt # 生成数据集 # 等差数列linspace (start, stop, num), [start, stop) # numpy.linspace(start, stop, num50, endpointTrue, retstepFalse, dtypeNone, axis0) x np.linspace(0, 10, 1000) # 生成等差数列[0,10]共1000个数字 y np.sin(x) z np.cos(x**2) # figure创建一个绘图对象,并且使它成为当前的绘图对象 plt.figure(figsize(8,4)) # 用plot函数在当前的绘图对象中进行绘图 plt.plot(x,y,label$sin(x)$,colorred,linewidth2) # sin(x) plt.plot(x,z,b--,label$cos(x^2)$) # cos(x^2) # 设置绘图对象的各个属性 plt.xlabel(Time(s)) # 设置X轴的文字 plt.ylabel(Volt) # 设置Y轴的文字 plt.title(PyPlot 1st Example) # 设置图表的标题 plt.ylim(-1.2,1.2) # 设置Y轴的范围 plt.legend() # 显示图示4. Subplot子图subplot子图Matplotlib中的subplot函数可以用于在同一张图中创建多个子图可以灵活地控制子图的排列方式和大小。一个绘图对象(figure)可以包含多个轴(axis)在Matplotlib中用轴表示一个绘图区域可以将其理解为子图。上面的第一个例子中绘图对象只包括一个轴因此只显示了一个轴(子图(axes为axis的复数,轴即子图));可以使用subplot函数快速绘制有多个轴的图表。subplot函数的调用形式如下subplot(nrows, ncols, plotNum)nrows 子图行数;ncols 子图列数;plotNum 子图在当前画布中的位置从左上角开始逐行逐列编号从1开始;可以把它们缩写为一个整数例如subplot(323)和subplot(3,2,3)是相同的。4.1子图示例 subplot在plotNum指定的区域中创建一个轴对象。 如果新创建的轴和之前创建的轴重叠的话之前的轴将被删除。 fig, ax plt.subplots(2, 3, 5) 上述函数返回的fig表示整个画布ax表示第5个子图与以下语句等价 fig plt.figure() ax fig.add_subplot(2, 3, 5) 然后可以单独对获取到的ax进行绘图 否则就是在plt.subplots()返回的子图上绘制。 # 下面的程序创建3行2列共6个轴 # 通过facecolor参数给每个轴设置不同的填充色 for idx, color in enumerate(rgbyck): # 分别创建子图 321 322 323 324 325 326, # 子图的填充色分别是 r g b y c k; plt.subplot(320idx1, facecolorcolor) plt.show()图6如果希望某个轴占据整个行或者列的话可以如下调用subplot plt.subplot(221) # 第一行的左图 plt.subplot(222) # 第一行的右图 plt.subplot(212) # 第二整行 plt.show()图74.2 子图-单类型# subplot子图示例-单类型 import matplotlib.pyplot as plt # 设置画布默认第一块画布 plt.figure() # 在2×2中选取第一块区域 plt.subplot(2, 2, 1) plt.plot([0, 1], [0, 1]) # 绘制点线图[0,0]到[1,1] # 在2×2中选选取第二块区域 plt.subplot(2, 2, 2) plt.plot([0, 1], [0, 2]) # 绘制点线图[0,0]到[1,2] # 在2×2中选选取第三块区域 plt.subplot(2, 2, 3) plt.plot([0, 1], [0, 3]) # 绘制点线图[0,0]到[1,3] # 在2×2中选选取第四块区域 plt.subplot(2, 2, 4) plt.plot([0, 1], [0, 4]) # 绘制点线图[0,0]到[1,4] plt.show()图84.3 子图-多类型# subplot子图示例-多类型 import matplotlib.pyplot as plt fig plt.figure() ax1 fig.add_subplot(2, 2, 1) ax2 fig.add_subplot(2, 2, 2) ax3 fig.add_subplot(2, 2, 3) ax4 fig.add_subplot(2, 2, 4) # 在每个子图中进行绘图 ax1.plot([1, 2, 3], [4, 5, 6]) ax2.scatter([1, 2, 3], [4, 5, 6]) ax3.bar([1, 2, 3], [4, 5, 6]) ax4.pie([1, 2, 3], autopct%1.2f%%) plt.show()图95. Hist直方图hist直方图直方图是一种用于可视化数据分布情况的常用工具它将数据划分为多个区间并计算每个区间中数据的频数或频率然后将这些信息绘制成连续的条形图。在matplotlib中可以使用plt.hist()函数绘制直方图。plt.hist 的常用参数data 要绘制直方图的数据可以是列表、数组或pandas Series。bins 直方图中条形的个数或条形的宽度。可以是一个整数默认为10表示要绘制10个等宽的条形也可以是一个表示每个条形宽度的数组。density 是否对直方图进行标准化即将数据除以其总数以使每个条形的面积为1。默认为False即绘制每个条形的频数。alpha 图形的透明度取值范围为0到1。color 条形图的颜色。可以是字符串、颜色名称或RGB值。edgecolor 用于设置直方图柱子的边缘颜色。cumulative 如果设置为 True则绘制累积直方图显示每个区间内数据点的累积数量。5.1直方图示例# 绘制直方图示例 import matplotlib.pyplot as plt import numpy as np # 生成1000个随机数 data np.random.normal(0,1,1000) # 从均值0标准差1的正态分布中抽取1000个样本 # 绘制直方图 # 分成15个条形, 透明度为0.5, 颜色为red, 边缘色为black plt.hist(data, bins15, alpha0.5, colorred, edgecolorblack) # 添加坐标轴标签和标题 plt.xlabel(Value) plt.ylabel(Frequency) plt.title(Hist Graph) # 显示图形 plt.show()图106. Bar柱状图6.1 bar柱状图柱状图是一种用于比较不同类别数据之间差异的常见可视化方式。柱状图用其每根柱子的长度表示值的大小它们通常用来比较两组或多组值。bar是 Matplotlib 库中用于绘制柱状图的函数之一。常见参数color 设置柱状的颜色。edgecolor 设置柱状的边框颜色。linewidth 设置柱状的边框线宽。alpha 设置柱状的透明度。height 设置柱状的高度。align 设置柱状的对齐方式可选值包括’center’、‘edge’。tick_label 设置柱状图的刻度标签。# 使用柱状图比较男性和女性的年龄分布绘制比较男女人口的年龄分布图。 import numpy as np import matplotlib.pyplot as plt data np.loadtxt(rC:\d\env\vm\share\da\matplotlib\population.txt) 读入的数据中第0列为年龄它将作为柱状图的横坐标。 首先计算柱状图中每根柱子的宽度因为要在每个年龄段上绘制两根柱子因此 柱子的宽度应该小于年龄段的二分之一。这里以年龄段的0.4倍作为柱子的宽度。 width (data[1,0] - data[0,0]) * 0.4 plt.figure(figsize(8,5)) 调用bar()绘制男性人口分布的柱状图。 第一个参数为每根柱子左边缘的横坐标为了让柱子以年龄刻度为中心这里设置每根柱子中心的横坐标为“年龄减去柱子的宽度”。 第二个参数为每根柱子的高度 第三个参数指定所有柱子的宽度。当第三个参数为序列时可以为每根柱子指定宽度。 plt.bar(data[:,0]-width/2, data[:,1]/1e7, width, colorb, alpha0.6, labelumale) 绘制女性人口分布的柱状图这里以年龄为柱子的左边缘横坐标因此女性和男性的人口分布图以年龄刻度为中心。 由于bar()不自动修改颜色因此程序中通过color参数设置两个柱状图的颜色 plt.bar(data[:,0]width/2, data[:,2]/1e7, width, colorr, alpha0.7, labelufemale) plt.xlim(-width, 100) plt.xlabel(uAge) plt.ylabel(uPopulation(ten Million)) plt.legend() plt.show()图116.2 柱状图堆叠 bar柱状堆叠图 用于展示多个类别或变量组成的部分与整体关系的图表。可以使用条形图来创建堆叠图。 import matplotlib.pyplot as plt # 定义类别和变量 categories [A, B, C, D, E] variables1 [20, 30, 25, 35, 27] variables2 [10, 15, 20, 25, 30] variables3 [15, 25, 30, 20, 10] fig, ax plt.subplots() # 绘制第一个变量的条形图并设置label参数 bar1 ax.bar(categories, variables1, labelVariable 1) # 绘制第二个变量的条形图并设置bottom参数 bar2 ax.bar(categories, variables2, bottomvariables1, labelVariable 2) # 绘制第三个变量的条形图并设置bottom参数 bar3 ax.bar(categories, variables3, bottom[ij for i, j in zip(variables1,variables2)], labelVariable 3) ax.legend() # 添加图例 # 设置标题和轴标签 ax.set_title(Stacked Chart) ax.set_xlabel(Categories) ax.set_ylabel(Variables) # 调整图表布局防止注释遮挡图表内容 plt.tight_layout() plt.show() # 展示图表图127. Boxplot箱线图7.1 boxplot箱线图箱线图是一种常用的数据可视化方式用于展示数据的分布情况和异常值检测。箱线图由五个统计量组成最小值、第一四分位数Q1、中位数Q2、第三四分位数Q3和最大值。plt.boxplot()常见参数x要绘制箱线图的数据可以是单个数组或多个数组列表notch是否显示中位数区间的凹口True 或 False默认为 Falsewhis设置须的长度默认为 1.5可以是浮点数或浮点数列表vert指定箱线的方向垂直方向为 True默认水平方向为 Falsepatch_artist是否填充箱体颜色True 或 False默认为 Falselabels指定每个箱线图的标签可以是字符串列表7.2 示例# boxplot绘制箱线图示例 import matplotlib.pyplot as plt # 准备多个数据集 data1 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] data2 [4, 5, 6, 7, 8, 9, 10, 11, 12, 13] data3 [2, 4, 6, 8, 10, 12, 14, 16, 18, 20] # 绘制多个箱线图 plt.boxplot([data1, data2, data3]) # 设置标题和轴标签 plt.title(Multiple Box Plots) plt.xlabel(Data) plt.ylabel(Values) # 设置 x 轴刻度标签 plt.xticks([1, 2, 3], [Data 1, Data 2, Data 3]) # 显示图像 plt.show()图138.Pie饼图8.1 pie饼图饼图用于展示不同类别数据的相对比例或份额。pie 是 Matplotlib 库中用于绘制饼图的函数之一。pie()的参数说明x: 指定的数据值列表每个数据值代表一个扇区的大小explode: 指定是否将某个扇区突出显示可以通过设置数组来指定具体哪些扇区要突出显示labels: 每个扇区的标签文本colors: 指定每个扇区的颜色autopct: 显示每个扇区的百分比值pctdistance: 调整每个百分比值的位置labeldistance: 调整每个标签文本的位置startangle: 设置饼图的起始角度以度为单位逆时针旋转counterclock: 指定是否逆时针绘制扇区默认为Trueshadow: 指定是否在饼图下方绘制阴影radius: 指定饼图的半径默认为1center: 指定饼图的中心点位置一般会设置为(0, 0)frame: 指定是否绘制饼图周围的框架textprops: 设置标签文本的属性例如字体大小、颜色、样式等8.2 示例# bar饼图绘制示例 import matplotlib.pyplot as plt # 设置内容列表 slices [7, 3, 4, 10] # 设置对应内容名称 activities [sleeping, eating, studying, working] # 设置对应颜色缩写 cols [c, m, r, g] # 绘制饼图 plt.pie(slices, labelsactivities, colorscols, startangle90, # 起始绘制角度,默认图是从x轴正方向逆时针画起, # 如设定90则从y轴正方向画起 shadowTrue, # 是否设置阴影效果 explode(0.02, 0.09, 0.05, 0.03), # 每一块距离中心距离 autopct%1.2f%% # 设置百分号显示格式 ) # 设置标题 plt.title(Pie chart) plt.show()图149. Scatter散点图9.1 scatter散点图散点图用于展示两个数值变量之间的关系其中每个点代表一个观测值。使用plot()绘图时如果指定样式参数为仅绘制数据点那么所绘制的就是一幅散列图。# plt.plot(np.random.random(100), np.random.random(100), o)但是这种方法所绘制的点无法单独指定颜色和大小。scatter()所绘制的散列图却可以指定每个点的颜色和大小。scatter常见参数介绍x, y表示散点图的坐标轴上的数据可以是列表、数组或标量s散点的大小可以是单个标量或 iterable 中每个点的大小若不指定则默认每个点大小为 20c散点的颜色可以是单个颜色或 iterable 中每个点的颜色若不指定则默认散点颜色为蓝色 bmarker散点的标记形状可以是标记名字符串、数字或字符集默认是圆圈 ‘o’cmap用于指定散点颜色的映射名称通常与 c 参数一起使用alpha透明度常用于指定散点的透明度可以是值在 0-1 之间的标量或可迭代对象9.1 散点图示例# 演示scatter()绘制散点图 import numpy as np import matplotlib.pyplot as plt plt.figure(figsize(8,4)) # random(sizeNone) 从[0,1)区间随机抽取样本,近似于uniform(0,1,size) x np.random.random(100) y np.random.random(100) scatter()的前两个参数是数组分别指定每个点的X轴和Y轴的坐标。 s参数指定点的大小。 plt.scatter(x, y, sx*800, cy, marker(5,1), alpha0.8, lw2, facecolorsnone) c参数指定每个点的颜色 marker参数设置点的形状这里用两个元素的元组第一个表示多边形边数 第二个表示多边形的样式0-多边形1-星形2-放射形3-显示为圆形。 lw参数设置线宽。 facecolors参数为“none”时表示散列点没有填充色 “ plt.xlim(0,1) plt.ylim(0,1) plt.show()图159.2 scatter散点图示例import matplotlib.pyplot as plt import numpy as np n 1024 # np.random.normal生成符合正态分布或高斯分布的随机数数组。 X np.random.normal(0, 1, n) # 均值为0标准差为1个数为n Y np.random.normal(0, 1, n) # 设置散点的颜色以两个点之间的极角即弧度值作为该点的颜色 T np.arctan2(Y, X) # 绘制散点图(s表示sizec表示coloralpha表示不透明度) plt.scatter(X, Y, s30, cT, alpha0.5) # 限制坐标轴范围 plt.xlim((-1.5, 1.5)) plt.ylim((-1.5, 1.5)) # 不显示坐标轴 # plt.xticks(()) # plt.yticks(()) plt.show()图1610. 总结使用Matplotlib库进行绘图的基本步骤导入Matplotlib库使用import matplotlib.pyplot as plt导入Matplotlib库。准备数据准备要绘制的数据可以是NumPy数组、列表或其他数据类型。创建图表使用Matplotlib提供的函数创建图表设置图表的类型、坐标轴范围等。添加数据到图表将准备好的数据添加到图表中设置数据点的样式、颜色等。定制图表外观通过调整参数来自定义图表的外观如添加标题、标签、图例等。显示或保存图表使用plt.show()显示图表或使用plt.savefig()将图表保存为文件。Matplotlib库支持多种图表的绘制包括极坐标图、误差棒图、等值线图、三维曲面等。感兴趣的同学可以查找相关资料了解更多信息。