如何获得 X 轴和 Y 轴在 matplotlib 中看起来像这样
How to get an X and Y axis Looking like this in matplotlib
不要求任何人为我做这件事。但我希望能够按照这样的方式创建一些东西....请原谅这幅画不是最好的
目前我的代码是这样的:
import numpy as np
import matplotlib.pyplot as plt
plt.grid()
plt.plot([0, 5 * np.cos(0)], [0, 5 * np.sin(0)])
plt.plot([0, -5 * np.cos(120)], [0, 5 * np.sin(120)])
plt.plot([0, 5 * np.cos(390)], [0, 5 * np.sin(390)])
plt.ylabel('Vectors')
plt.show()
这是我尝试用电脑绘制的第一件事。我有一个我在大学做的项目,我宁愿用电脑绘制它也不愿手工绘制,因为我认为它看起来更整洁。任何帮助或指点将不胜感激。
谢谢
您可以为此使用 plt.arrow(x, y, dx, dy)
函数。它将使 (x, y)
的箭头在每个方向上跨越距离 (dx, dy)
。下面是一些示例代码,我写得非常"long",但是当您了解如何使用它时,我相信如果您愿意,可以将它做得更紧凑。
import numpy as np
import matplotlib.pyplot as plt
plt.grid()
x = 0
y = 0
dx = 5 * np.cos(0)
dy = 5 * np.sin(0)
plt.arrow(x, y, dx, dy, head_width=0.1, head_length=0.5, fc='b', ec='b')
x = 0
y = 0
dx = 5 * np.cos(390)
dy = 5 * np.sin(390)
plt.arrow(x, y, dx, dy, head_width=0.1, head_length=0.5, fc='g', ec='g')
x = 0
y = 0
dx = -5 * np.cos(120)
dy = 5 * np.sin(120)
plt.arrow(x, y, dx, dy, head_width=0.1, head_length=0.5, fc='r', ec='r')
plt.ylabel('Vectors')
plt.xlim(-5.5, 5.5)
plt.ylim(-5.5, 5.5)
plt.show()
不要求任何人为我做这件事。但我希望能够按照这样的方式创建一些东西....请原谅这幅画不是最好的
目前我的代码是这样的:
import numpy as np
import matplotlib.pyplot as plt
plt.grid()
plt.plot([0, 5 * np.cos(0)], [0, 5 * np.sin(0)])
plt.plot([0, -5 * np.cos(120)], [0, 5 * np.sin(120)])
plt.plot([0, 5 * np.cos(390)], [0, 5 * np.sin(390)])
plt.ylabel('Vectors')
plt.show()
这是我尝试用电脑绘制的第一件事。我有一个我在大学做的项目,我宁愿用电脑绘制它也不愿手工绘制,因为我认为它看起来更整洁。任何帮助或指点将不胜感激。
谢谢
您可以为此使用 plt.arrow(x, y, dx, dy)
函数。它将使 (x, y)
的箭头在每个方向上跨越距离 (dx, dy)
。下面是一些示例代码,我写得非常"long",但是当您了解如何使用它时,我相信如果您愿意,可以将它做得更紧凑。
import numpy as np
import matplotlib.pyplot as plt
plt.grid()
x = 0
y = 0
dx = 5 * np.cos(0)
dy = 5 * np.sin(0)
plt.arrow(x, y, dx, dy, head_width=0.1, head_length=0.5, fc='b', ec='b')
x = 0
y = 0
dx = 5 * np.cos(390)
dy = 5 * np.sin(390)
plt.arrow(x, y, dx, dy, head_width=0.1, head_length=0.5, fc='g', ec='g')
x = 0
y = 0
dx = -5 * np.cos(120)
dy = 5 * np.sin(120)
plt.arrow(x, y, dx, dy, head_width=0.1, head_length=0.5, fc='r', ec='r')
plt.ylabel('Vectors')
plt.xlim(-5.5, 5.5)
plt.ylim(-5.5, 5.5)
plt.show()