plt.subplot(nrows, ncols, index)
nrows 与 ncols 表示要划分几行几列的子区域(nrows*nclos表示子图数量),index 的初始值为1,用来选定具体的某个子区域。
data = np.arange(100, 200) # 数据
plt.subplot(121) # 分成1x2的区域,占用编号为1的区域
plt.plot(data)
plt.subplot(122) # 分成1x2的区域,占用编号为2的区域
plt.plot(-data)
plt.show()
通过subplots() 函数创建多个子图
subplots() 函数,它的使用方法和 subplot() 函数类似。其不同之处在于,subplots() 既创建了一个包含子图区域的画布,又创建了一个 figure 图形对象,而 subplot() 只是创建一个包含子图区域的画布。
fig , axes = plt.subplots(nrows, ncols)
nrows 与 ncols 表示两个整数参数,它们指定子图所占的行数、列数
data = np.arange(100, 200) # 数据
fig, axes = plt.subplots(2, 2) # 分成2x2矩阵区域,返回子图数组axes
print(axes)
[[AxesSubplot: AxesSubplot:]
[AxesSubplot: AxesSubplot:]]
Process finished with exit code 0
data = np.arange(100, 200) # 数据
fig, axes = plt.subplots(2, 2) # 分成2x2矩阵区域,返回子图数组axes
ax1 = axes[0, 0] # 取出第一个子视图
ax2 = axes[0, 1]
ax3 = axes[1, 0]
ax4 = axes[1, 1]
ax1.plot(data)
ax2.plot(-data)
ax3.plot(2*data)
ax4.plot(-2*data)
plt.show()
添加各类标签
绘图的时候我们为了使绘制的图形更加直观,我们通常会给图像添加横、纵坐标等标签,常用的标签列举如下:
data = np.arange(0, 1.1, 0.01)
plt.title(“Title”) # 设置标题
plt.xlabel(“x”) # 添加x轴的名称
plt.ylabel(“y”) # 添加y轴的名称
plt.xticks([0, 0.5, 1])
plt.yticks([0, 0.5, 1.0])
plt.plot(data, data ** 2)
plt.plot(data, data ** 3)
plt.legend([“y=x^2”, “y=x3”])
plt.show()
**Tip:**中文无法正常显示时添加如下代码即可~
import matplotlib.pyplot as plt
plt.rcParams[“font.sans-serif”]=[“SimHei”] #设置字体
plt.rcParams[“axes.unicode_minus”]=False #该语句解决图像中的“-”负号的乱码问题
绘制常见图表
绘制直方图
plt.hist(x, bins, range, color) # 常用的参数,其他忽略
x:输入值,可以是单个数组,或者数组序列
bins:绘制条柱的个数,整数值,返回整数值+1个,默认为10
range: bins的上下范围
color:表示条柱的颜色
data = [34, 23, 45, 35, 66, 78, 16, 99]
plt.hist(data, bins=8, color=‘yellow’)
plt.show()
绘制柱形图
plt.bar(x, height, width, color, edgecolor, align)
x:表示x轴数据
height:表示条形高度
width:表示条形宽度,默认0.8
color:表示条形颜色
edgecolor:表示条形边框颜色
fig = plt.figure()
ax = plt.subplot(1, 1, 1)
langs1 = [‘C’, ‘C++’, ‘Java’, ‘Python’, ‘PHP’]
students1 = [23, 17, 35, 29, 12]
langs2 = [‘A’, ‘B’, ‘C’, ‘D’, ‘E’]
students2 = [53, 27, 30, 22, 12]
ax.bar(langs1, students1, width=0.3, color=‘red’)
plt.show()
绘制散点图
散点图用于在水平轴和垂直轴上绘制数据点,它表示了因变量随自变量变化的趋势。通俗地讲,它反映的是一个变量受另一个变量的影响程度。
plt.scatter(x, y,s, c, marker, alpha)
x、y:表示xy轴对应的数据
s:指定点的大小
c:指定散点的颜色
marker‘:表示绘制的散点类型
alpha:表示点的透明度,0~1
x = [100, 200, 300, 400, 500, 600, 700, 800]
y = [101, 401, 501, 601, 201, 301, 701, 801]
plt.scatter(x, y)
plt.show()
绘制折线图
直接展示绘制多条折线
plt.rcParams[“font.sans-serif”] = [“SimHei”] # 设置字体
plt.rcParams[“axes.unicode_minus”] = False # 该语句解决图像中的“-”负号的乱码问题
x = [1, 2, 3, 4, 5, 6]
y1 = [88, 81, 79, 81, 86, 94]
y2 = [99, 88, 74, 90, 81, 75]
plt.plot(x, y1, ‘r’, marker=‘.’, markersize=10)
plt.plot(x, y2, ‘b’, marker=‘.’, markersize=10)
plt.title(‘成绩对比折线图’) # 折线图标题
plt.xlabel(‘次数’) # x轴标题
plt.ylabel(‘分数’) # y轴标题
for a, b in zip(x, y1):
plt.text(a, b, b, ha=‘center’, va=‘bottom’, fontsize=10)
for a, b in zip(x, y2):
plt.text(a, b, b, ha=‘center’, va=‘bottom’, fontsize=10)
plt.legend([‘小张’, ‘小柯’])
plt.show()
绘制饼状图
y = np.array([35, 25, 25, 15])
plt.pie(y,
labels=[‘A’, ‘B’, ‘C’, ‘D’], # 设置饼图标签
colors=[“#d5695d”, “#5d8ca8”, “#65a479”, “#a564c9”], # 设置饼图颜色
explode=(0, 0.2, 0, 0), # 第二部分突出显示,值越大,距离中心越远
autopct=‘%.2f%%’, # 格式化输出百分比
)
plt.title(“测试饼状图”)
plt.show()
保存图表
plt.savefig()必须写在plt.show()前面,否则保存为空白图像
savefig(fname,dpi=None,facecolor=“w”,edgecolor=“w”,orientation=“portrait”,papertype=None,format=None,transparent=False,bbox_inches=None,pad_inches=0.1,frameon=None,metadata=None)
plt.rcParams[“font.sans-serif”] = [“SimHei”] # 设置字体
plt.rcParams[“axes.unicode_minus”] = False # 该语句解决图像中的“-”负号的乱码问题
x = [1, 2, 3, 4, 5, 6]
y1 = [88, 81, 79, 81, 86, 94]
y2 = [99, 88, 74, 90, 81, 75]
plt.plot(x, y1, ‘r’, marker=‘.’, markersize=10)
plt.plot(x, y2, ‘b’, marker=‘.’, markersize=10)
plt.title(‘成绩对比折线图’) # 折线图标题
plt.xlabel(‘次数’) # x轴标题
plt.ylabel(‘分数’) # y轴标题
for a, b in zip(x, y1):
plt.text(a, b, b, ha=‘center’, va=‘bottom’, fontsize=10)
for a, b in zip(x, y2):
plt.text(a, b, b, ha=‘center’, va=‘bottom’, fontsize=10)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)
,同时减轻大家的负担。**
[外链图片转存中…(img-zNPJXMUF-1713787040253)]
[外链图片转存中…(img-zaQiE4E6-1713787040253)]
[外链图片转存中…(img-YhMgFd6i-1713787040254)]
[外链图片转存中…(img-C0KSrkDb-1713787040254)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)