在matplotlib中绘制带箭头的钝圆弧

时间:2013-12-17 12:29:33

标签: python matplotlib

我是Python新手,虽然我之前有过编程经验。我目前的兴趣是生成高质量的原理图(以及稍后的数据图)。

我需要在终点画一个带箭头的圆弧。我已经通过许多帖子进行了筛选,并尝试了几个例子,但似乎我仍然遗漏了一些基本知识。所以我需要这样的东西:

http://i.stack.imgur.com/Z5V86.png

我正在尝试下面的示例,尝试初始绘制圆弧,但即使这样也行不通。我正在使用matplotlib.patches,但我愿意接受我需要的其他建议。

# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Ellipse, Arc
from matplotlib import cm, colors, patches
from math import pi

fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ellipse = Arc([2.5,2.5],1,1,0,0,pi,color='green', linewidth='0.5')
ax.add_patch(ellipse)
plt.show()

1 个答案:

答案 0 :(得分:5)

那么,

  • 如果您想要pi的角度,请通过180
  • 线宽必须是标量。传递.5而不是'.5'作为线宽参数
  • 您需要更改轴的极限,否则您将看不到弧。添加ax.set_xlim(1.5,3.1)ax.set_ylim(2.4,3.7)等内容。

您可能还想选择其他策略,例如

ax.plot([.5],[.5],marker=r'$\circlearrowleft$',ms=100)