Python 如何使用坡度函数调用使plt.axline工作

Python 如何使用坡度函数调用使plt.axline工作,python,matplotlib,math,Python,Matplotlib,Math,我想让一条plt.axline以另一条直线的斜率通过某个点。当我使用两点时,如下图所示,axline可以工作 当我将黑线的斜率计算为m=(y2-y1)/(x2-x1)并添加slope=m时,在axline()调用中,它将不起作用。下面是我的python代码 import matplotlib.pyplot as plt x1=2222805 y1=499020 x2=2218532 y2=510085 x3=2221782 y3=505461 %matplotlib inline fi

我想让一条plt.axline以另一条直线的斜率通过某个点。当我使用两点时,如下图所示,axline可以工作

当我将黑线的斜率计算为m=(y2-y1)/(x2-x1)并添加slope=m时,在axline()调用中,它将不起作用。下面是我的python代码

import matplotlib.pyplot as plt

x1=2222805
y1=499020

x2=2218532
y2=510085

x3=2221782
y3=505461

%matplotlib inline
fig,ax = plt.subplots(figsize=(7,7))

plt.plot([x1,x2],[y1,y2],color="black",marker="x")
plt.scatter(x3,y3,color="red",marker="x")

# m = the slope of the black line
m = (y2-y1)/(x2-x1)
print('slope = '+str(m))

# # trying to plot a red dashed line through the red x point with the slope of the black line
# plt.axline((x3,y3),(x2,y2),linestyle='--',linewidth=1, color='r')
plt.axline((x3,y3),slope=m,linestyle='--',linewidth=1, color='r')

任何帮助都将不胜感激。

正如@JohanC所指出的,我正在运行matplotlib版本3.3.4,需要3.4.2。

我无法重现您的问题。是否尝试将matplotlib升级到版本
'3.4.2'
?如果这没有帮助,你能解释一下你所说的“它将不起作用”是什么意思吗?它显示的线不对吗?还是没有电话?还是给一个错误?或者…?@JohanC,我使用的是3.3.4版。我以为我用的是最新版本。我去升级。@JohanC,成功了!非常感谢。