作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道如何键入提示 matplotlib-subplots 的轴对象的“最佳”方法。
运行
from matplotlib import pyplot as plt
f, ax = plt.subplots()
print(type(ax))
返回
<class 'matplotlib.axes._subplots.AxesSubplot'>
和运行
from matplotlib import axes
print(type(axes._subplots))
print(type(axes._subplots.AxesSubplot))
产量
<class 'module'>
AttributeError: module 'matplotlib.axes._subplots' has no attribute 'AxesSubplots'
到目前为止,有效的类型提示解决方案如下:
def multi_rocker(
axy: type(plt.subplots()[1]),
y_trues: np.ndarray,
y_preds: np.ndarray,
):
"""
One-Vs-All ROC-curve:
"""
fpr = dict()
tpr = dict()
roc_auc = dict()
n_classes = y_trues.shape[1]
wanted = list(range(n_classes))
for i,x in enumerate(wanted):
fpr[i], tpr[i], _ = roc_curve(y_trues[:, i], y_preds[:, i])
roc_auc[i] = round(auc(fpr[i], tpr[i]),2)
extra = 0
for i in range(n_classes):
axy.plot(fpr[i], tpr[i],)
return
它的问题在于它对于代码共享还不够清晰
最佳答案
如 Type hints for context manager 中所述:
import matplotlib.pyplot as plt
def plot_func(ax: plt.Axes):
...
关于python - 如何在python3中键入提示matplotlib.axes._subplots.AxesSubplots对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63783154/
我是一名优秀的程序员,十分优秀!