我并不陌生matplotlib,我很惭愧地承认我一直将它作为一种工具,尽可能快速简便地获得解决方案.所以我知道如何获得基本情节,子图和东西,并且有不少代码可以不时重复使用......但我没有"深入(呃)知识" matplotlib.
最近我想我应该改变这个并通过一些教程自己动手.但是,我仍然对matplotlibs感到困惑plt,fig(ure)并且ax(arr).真正的区别是什么?
在大多数情况下,对于一些"quick'n'dirty"绘图,我看到人们只使用pyplot as plt和直接绘图plt.plot.由于我经常使用多种内容进行绘制,我经常使用f, axarr = plt.subplots()...但是大多数时候你只看到代码放置数据进入axarr并忽略了这个数字f.
所以,我的问题是:什么是使用matplotlib的干净方式?何时使用plt,应该使用什么或应该figure使用什么?子图是否只包含数据?或者,对于样式,清理情节,......,在子图中,它是否有效且良好的做法?
我希望这不是广泛的.基本上我要求为plt< - > fig< - > ax(arr)(以及何时/如何正确使用它们)的真正目的提出一些建议.
教程也是受欢迎的.matplotlib文档对我来说相当混乱.当人们搜索一些非常具体的东西时,比如重新标记一个图例,不同的情节标记和颜色等等,官方文档确实非常准确,但在我看来,一般信息并不是那么好.太多不同的例子,没有真正的目的解释......看起来或多或少像是所有可能的API方法和参数的大清单.
我试图在一个足球场的 matplotlib 图上叠加一个热图。
这是由下面的代码块创建的 matplotlib 音高的图像:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import matplotlib.patches as plt_p
import numpy as np
def draw_pitch(ax):
# size of the pitch is 120, 80
#Create figure
#Pitch Outline & Centre Line
plt.plot([0,0],[0,80], color="black")
plt.plot([0,120],[80,80], color="black")
plt.plot([120,120],[80,0], color="black")
plt.plot([120,0],[0,0], color="black")
plt.plot([60,60],[0,80], color="black")
#Left Penalty Area
plt.plot([14.6,14.6],[57.8,22.2],color="black")
plt.plot([0,14.6],[57.8,57.8],color="black")
plt.plot([0,14.6],[22.2,22.2],color="black")
#Right Penalty Area
plt.plot([120,105.4],[57.8,57.8],color="black")
plt.plot([105.4,105.4],[57.8,22.5],color="black")
plt.plot([120, 105.4],[22.5,22.5],color="black")
#Left 6-yard Box
plt.plot([0,4.9],[48,48],color="black")
plt.plot([4.9,4.9],[48,32],color="black")
plt.plot([0,4.9],[32,32],color="black")
#Right 6-yard Box
plt.plot([120,115.1],[48,48],color="black")
plt.plot([115.1,115.1],[48,32],color="black")
plt.plot([120,115.1],[32,32],color="black")
#Prepare Circles …Run Code Online (Sandbox Code Playgroud)