python如何画图形_python – 如何将y = 1 / x绘制为单个图形

这篇博客介绍了如何在matplotlib中绘制不包含连接线的无限函数,如y=1/x。通过在函数定义中处理除以零的错误,可以避免在正负无穷大处绘制连接线。这种方法适用于在同一域上绘制其他类似函数,简化了代码并提高了重用性。
摘要由CSDN通过智能技术生成

参见英文答案 >

Omit joining lines in matplotlib plot e.g. y = tan(x) 3

有没有一个简单的方法来绘制一个在正面和负面无穷无尽的功能,作为一个单一的情节,没有阴谋加入正面和负面的两端?

例如,使用此代码绘制y = 1 / x可得出结果图:

import numpy as np

import matplotlib.pyplot as plt

def f(x):

return 1/x

fx_name = r'$f(x)=\frac{1}{x}$'

x=np.setdiff1d(np.linspace(-10,10,100),[0]) #to remove the zero

y=f(x)

plt.plot(x, y, label=fx_name)

plt.legend(loc='upper left')

plt.show()

但是我想通过绘制两个不同的域来实现这个输出:

import numpy as np

import matplotlib.pyplot as plt

def f(x):

return 1/x

fx_name = r'$f(x)=\frac{1}{x}$'

xfn=np.setdiff1d(np.linspace(-10,0,100),[0])

xfp=np.setdiff1d(np.linspace(0,10,100),[0])

yfn=f(xfn)

yfp=f(xfp)

yf = plt.plot(xfn, yfn, label=fx_name)

plt.plot(xfp, yfp, color=yf[0].get_color())

plt.legend(loc='upper left')

plt.show()

有短切吗?

非常感谢.

在域数组中包含零,并且除以零.这将强制返回的共域数组的一个元素为“inf”,并且不绘制“inf”.

import numpy as np

import matplotlib.pyplot as plt

def f(x):

with np.errstate(divide='ignore', invalid='ignore'):

return 1/x

fx_name = r'$f(x)=\frac{1}{x}$'

x=np.linspace(-10,10,101)

y=f(x)

plt.plot(x, y, label=fx_name)

plt.legend(loc='upper left')

plt.show()

我喜欢这种方法,因为它避免了对阵列的手动操纵,并且可以容易地重用于共享相同域的其他函数(例如y = 1 /(x 2)).谢谢大家的贡献.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值