今天分享使用Python中二维绘图库Matplotlib的100个技巧:
1 基础绘图
-
使用
import matplotlib.pyplot as plt
导入Matplotlib。 -
使用
plt.plot()
创建简单的折线图。 -
通过颜色、线型和标记等参数自定义绘图外观。
-
使用
plt.show()
显示绘图。 -
使用
plt.savefig()
将绘图保存为图像文件。
2 折线图
-
多次使用
plt.plot()
在同一图表上绘制多条折线。 -
使用
plt.legend()
为折线添加标签。 -
使用
'--'
、'-.'
或':'
等选项自定义线型。 -
使用
linewidth
参数控制线宽。 -
使用
plt.scatter()
突出显示绘图上的特定点。
3 散点图
-
使用
plt.scatter()
创建散点图。 -
调整标记的大小和颜色。
-
使用颜色映射获取不同的标记颜色。
-
使用
plt.colorbar()
为绘图添加颜色条。 -
使用
plt.errorbar()
在散点图中包含误差线。
4 柱状图
-
使用
plt.bar()
生成柱状图,使用plt.barh()
生成水平柱状图。 -
自定义柱状的宽度和颜色。
-
显示分组或堆积柱状图。
-
使用
plt.text()
在柱状图上添加数值注释。
5 直方图
-
使用
plt.hist()
创建直方图。 -
调整 bins 的数量以获得更好的展示效果。
-
使用
density
参数显示概率密度而非计数。 -
在同一绘图上叠加多个直方图。
6 饼图
-
使用
plt.pie()
生成饼图。 -
为每个扇形指定颜色。
-
使用
explode
参数突出显示特定扇形。 -
使用
autopct
显示百分比标签。
7 子图
-
使用
plt.subplots()
创建子图。 -
使用
plt.subplot()
或plt.GridSpec()
控制布局网格。 -
使用
sharex
和sharey
参数在子图之间共享坐标轴。 -
使用
plt.subplots_adjust()
自定义子图之间的间距。
8 注释和文本
-
使用
plt.text()
或plt.annotate()
向绘图添加文本。 -
使用箭头注释特定的数据点。
-
在文本中包含LaTeX风格的数学表达式。
-
使用
plt.title()
显示标题。
9 坐标轴和刻度
-
使用
plt.xlabel()
和plt.ylabel()
自定义坐标轴标签。 -
使用
plt.xlim()
和plt.ylim()
设置坐标轴范围。 -
使用
plt.xticks()
和plt.yticks()
控制坐标轴刻度和标签。 -
使用
plt.xticks()
和plt.yticks()
更改刻度位置和标签。
10 网格和边框
-
使用
plt.grid()
为绘图添加网格。 -
使用线型、颜色和线宽自定义网格外观。
-
使用
plt.spines
移除绘图的边框。 -
控制边框的可见性和样式。
11 颜色映射
-
使用颜色映射可视化三维表面。
-
从
'viridis'
、'plasma'
或'cividis'
等类别中选择颜色映射。 -
反转颜色映射以获得不同的表示。
12 三维绘图
-
使用
plt.plot()
和Axes3D
创建三维折线图。 -
使用
ax.scatter()
生成三维散点图。 -
使用
ax.plot_surface()
绘制三维表面。 -
自定义三维绘图的视角和投影。
13 误差线和置信区间
-
使用
plt.errorbar()
为折线图添加误差线。 -
使用
plt.fill_between()
显示阴影置信区间。 -
绘制两条曲线之间的阴影区域。
14 三维绘图中的注释
-
使用
ax.text()
注释三维绘图中的点。 -
为特定数据点添加箭头和文本注释。
-
自定义三维绘图中文本的外观。
15 地理绘图
-
使用
cartopy
为地理数据创建地图。 -
使用
plt.contour()
或plt.pcolormesh()
在地图上绘制数据。 -
自定义地图投影和边界。
16 动画
-
使用
FuncAnimation
生成动画。 -
在每一帧中动态更新绘图元素。
-
将动画保存为GIF或视频。
17 样式和主题
-
使用
plt.style.use()
使用预定义样式。 -
使用样式表自定义绘图外观。
-
创建自定义样式表。
18 图例
-
使用
plt.legend()
为绘图添加图例。 -
将图例放置在不同位置。
-
自定义图例的外观和标签。
19 LaTeX渲染
-
使用
plt.rc('text', usetex=True)
在文本和标签中启用LaTeX渲染。 -
使用LaTeX表达式表示数学符号。
20 日期和时间格式化
-
以正确的日期格式绘制时间序列数据。
-
使用
matplotlib.dates
进行与日期相关的函数操作。 -
自定义绘图上的日期刻度和标签。
21 双坐标轴
-
使用
ax.twinx()
或ax.twiny()
创建双坐标轴。 -
在同一绘图上使用不同的y轴绘制多个数据集。
22 极坐标图
-
使用
plt.polar()
生成极坐标图。 -
自定义径向和角度网格。
-
在极坐标中绘制数据。
23 水印
-
使用
plt.text()
和低透明度(alpha)为绘图添加水印。 -
显示低调或透明的水印。
24 导出高质量图形
-
使用
plt.savefig()
并设置DPI(每英寸点数)保存高质量图形。 -
以各种格式(PNG、PDF、SVG等)保存图形。
-
使用矢量图形以实现可缩放的图形。
25 交互式绘图
-
使用
plt.ion()
和plt.ioff()
使绘图具有交互性。 -
探索像Qt或Tkinter这样的交互式后端。
26 Seaborn集成
-
将Seaborn与Matplotlib结合使用以增强美观度。
-
使用
sns.set_style()
设置Seaborn样式。
27 自定义颜色条
-
使用
plt.colorbar()
创建自定义颜色条。 -
调整颜色条的外观和位置。
-
在子图之间链接颜色条。
28 填充曲线之间的区域
-
使用
plt.fill_between()
填充曲线之间的区域。 -
自定义填充颜色、透明度和线型。
29 箭头图
-
使用
plt.quiver()
创建箭头图。 -
使用箭头可视化矢量场。
-
自定义箭头的外观和密度。
30 小提琴图
-
使用
plt.violinplot()
或Seaborn生成小提琴图。 -
自定义小提琴图的外观。
-
将小提琴图与其他绘图类型结合使用。
31 流线图
-
使用
plt.streamplot()
绘制流线。 -
使用流线可视化矢量场。
这些技巧涵盖了Matplotlib的广泛功能,从基础绘图到自定义、三维绘图、动画等高级技术。在实际数据上尝试这些技巧能帮助你熟练使用Matplotlib创建多样且具有视觉吸引力的绘图。
推荐书单
《LangChain大模型AI应用开发实践》
本书是一本深度探索LangChain框架及其在构建高效AI应用中所扮演角色的权威教程。本书以实战为导向,系统介绍了从LangChain基础到高级应用的全过程,旨在帮助开发者迅速掌握这一强大的工具,解锁人工智能开发的新维度。
本书内容围绕LangChain快速入门、Chain结构构建、大模型接入与优化、提示词工程、高级输出解析技术、数据检索增强(RAG)、知识库处理、智能体(agent)开发及其能力拓展等多个层面展开。通过详实的案例分析与步骤解说,读者可以学会整合如ChatGLM等顶尖大模型,运用ChromaDB进行高效的向量检索,以及设计与实现具有记忆功能和上下文感知能力的AI智能体。此外,书中还介绍了如何利用LangChain提升应用响应速度、修复模型输出错误、自定义输出解析器等实用技巧,为开发者提供了丰富的策略与工具。
本书主要面向AI开发者、数据科学家、机器学习工程师,以及对自然语言处理和人工智能应用感兴趣的中级和高级技术人员。
如果是初学python爬虫,觉得自学比较难的,那么我接下来分享的这全套 Python 学习资料一定不要错过,希望能给那些想学习 Python 的小伙伴们带来帮助!
希望这篇文章对正在学习编程的你有所帮助,如果你想学习编程,那给大家分享一份Python学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂。如果需要的话直接划到文末免费获得,让我们一起学习!