0
A
回答
1
可以使用正弦/餘弦,Arc和arrow畫一個圓圈,並在matplotlib旋轉箭頭:
import math
from matplotlib.patches import Arc
import matplotlib.pyplot as plt
ax = plt.axes()
x0, y0 = 0.5, 0.5
radius = 0.4
angle = 135
angle_rad = angle * math.pi/180 # degrees to radians
# Draw circle
circle = plt.Circle((x0,y0), radius, color='red', fill=False)
fig = plt.gcf()
fig.gca().add_artist(circle)
# Draw radius arrow
head_length = 0.05
ax.arrow(x0, y0,
(radius - head_length) * math.cos(angle_rad),
(radius - head_length) * math.sin(angle_rad),
head_width=0.05, head_length=head_length, fc='k', ec='k')
# Draw arc with arrow.
arc_radius = radius/4
arc = Arc((x0, y0),
arc_radius*2, arc_radius*2, # ellipse width and height
theta1=0, theta2=angle, linestyle='dashed')
ax.add_patch(arc)
arc_arrow_length = 0.03
arc_arrow_dx = arc_arrow_length * math.cos(angle_rad + math.pi/2)
arc_arrow_dy = arc_arrow_length * math.sin(angle_rad + math.pi/2)
ax.arrow(
x0 + arc_radius * math.cos(angle_rad) - arc_arrow_dx,
y0 + arc_radius * math.sin(angle_rad) - arc_arrow_dy,
# We want to define a vector,
# but we don't want to draw any line besides arrow head,
# so we make arrow "body" unnoticeable.
arc_arrow_dx * 0.000001,
arc_arrow_dy * 0.000001,
head_width=0.01,
head_length=0.03,
color='black')
plt.show()
請注意,這個解決方案是不乾淨的,有可能是一個更好的方式一次繪製弧線和箭頭。
你可能想嘗試FancyArrowPatch繪製一個不錯的箭頭。
1
使用plt.annotate,在箭頭參數中可以傳遞連接樣式,該連接樣式將定義您繪製的線條的曲率。這裏是來自SciPy文檔的an example。之後,您只需設置線型併爲每個圖確定開始點和結束點。
相關問題
- 1. 在圓內旋轉的兩個箭頭
- 2. 旋轉箭頭圖像
- 3. 將箭頭繪製到圓形
- 4. 如何在MyLocationOverlay中將旋轉箭頭繪製爲標記?
- 5. 如何手動繪製箭頭給定的旋轉角度 - android
- 6. 旋轉箭頭,即在鼠標移動上繪圖
- 7. 用gnuplot繪製箭頭
- 8. JavaFX如何旋轉繪製圓心
- 9. 元素內側的圓滑的旋轉木馬箭頭
- 10. 繪製地圖:箭頭消失
- 11. 直接在matplotlib圖上繪製箭頭
- 12. iPhone:旋轉繪圖而不旋轉繪製它的視圖
- 13. React-Slick旋轉木馬 - 禁用箭頭
- 14. 動態繪製箭頭android
- 15. 容易箭頭繪製
- 16. Android drawable xml:繪製箭頭
- 17. 繪製箭頭與輪廓
- 18. 使用純CSS繪製箭頭周圍的箭頭
- 19. 在matplotlib中繪製帶箭頭的鈍圓弧
- 20. 將橢圓的繪製點旋轉爲圓形
- 21. 在android中繪製箭頭頭
- 22. 用CGContext繪製三角形/箭頭線
- 23. 繪製箭頭不起作用
- 24. 使用Javascript線繪製箭頭至
- 25. 用Java中的箭頭繪製線條
- 26. 使用揮杆繪製箭頭
- 27. 如何用java2d繪製箭頭?
- 28. 繪製一個箭頭,然後圍繞它的起點旋轉它AS3
- 29. 在Android中的畫布上繪製圓圈外的位圖(箭頭)
- 30. 如何在點擊時旋轉箭頭?
感謝您的回覆。這很有幫助。但是我想要做的就是在假想線' - '上繪製旋轉箭頭。 –
@韓正祖這個問題出人意料的困難。我添加了一個解決方案,但感覺像是一個黑客。無法找到用箭頭結束弧線的正確方法。 – alexanderlukanin13
非常感謝。我會盡力。 –