2024-04-26 01:22:52 发布
网友
我想要的是图中所示的三角形:
这是我的密码:
import matplotlib.pyplot as plt data= [0.2855,0.3030,0.4995] x = [1,2,3] plt.plot(x, data) plt.show
有没有一种简单的方法可以自动插入这些倾斜三角形,如图所示?我想在两点中间画一个三角形,旁边写着斜率。你知道吗
根据您对“自动时尚”的想法,这可能是一个合适的解决方案:
import matplotlib.pyplot as plt import numpy as np # Data x = np.array([1, 2, 3]) y = np.array([0.2855, 0.3030, 0.4995]) # Calculate triangle coordinates values x_mid = np.convolve(x, [0.5, 0.5], mode='valid') x_tri = np.vstack((x_mid, x_mid + 0.3)) y_tri = np.interp(x_tri, x, y) # Calculate slopes slopes = np.diff(y) / np.diff(x) # Plot plt.plot(x, y) plt.plot(x_tri, np.tile(y_tri[0, :], [2, 1]), 'r') # red horizontal line plt.plot(np.tile(x_tri[1, :], [2, 1]), y_tri, 'r') # red vertical line for i, slope in enumerate(slopes): # slope values plt.text(x_tri[1, i] + 0.05, np.mean(y_tri[:, i]), r'{0:.3f}'.format(slope)) plt.show()
输出:
把所有的三角形放在一个单独的函数中,它不会对主代码产生太大的影响。你知道吗
希望有帮助!你知道吗
根据您对“自动时尚”的想法,这可能是一个合适的解决方案:
输出:
把所有的三角形放在一个单独的函数中,它不会对主代码产生太大的影响。你知道吗
希望有帮助!你知道吗
相关问题 更多 >
编程相关推荐