Jon*_*nco 7 python matplotlib pandas python-3.8 plot-annotations
我正在为某些函数编写类型注释,但找不到注释预期类型为 的参数的最佳方法matplotlib.axes._axes.Axes。
我什至不确定我是否为预期为 类型的参数做了正确的事情pandas.core.frame.DataFrame。
def myfunc(
df: pd.DataFrame, # is this correct?
ax: matplotlib.axes._axes.Axes # do I have to use this?
) -> None:
# body of my function
Run Code Online (Sandbox Code Playgroud)
一些见解?
谢谢。
不要.pyi在类型提示中引用该文件,只需使用实际的类名。你的 IDE 还是mypy会搞清楚的。
如果您想mypy使用 matplotlib 版本 <3.8,您将需要data-science-types. data-science-types只需要安装,不需要导入。
请参阅此 matplotlib 问题。与此答案相关。
以下是经过mypy运行后测试的pip install data-science-types。
import pandas as pd
import matplotlib.axes
from matplotlib import pyplot as plt
import numpy as np
def myfunc(
df: pd.DataFrame,
ax: matplotlib.axes.Axes,
) -> None:
ax.plot(df.values.mean(), df.values.std())
if __name__ == "__main__":
f, axis = plt.subplots()
df = pd.DataFrame(data=np.random.rand(50, 10))
myfunc(df, axis)
Run Code Online (Sandbox Code Playgroud)
运行mypy返回Success: no issues found in 1 source file。
| 归档时间: |
|
| 查看次数: |
2352 次 |
| 最近记录: |