mpl_code_Distance_wText.py 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. import matplotlib.pyplot as mpl
  2. import matplotlib.transforms as transforms
  3. mpl.ion() # for interactive drawing
  4. fig = mpl.figure()
  5. ax = fig.gca()
  6. xmin, xmax, ymin, ymax = 0.0, 10.0, 0.0, 6.0
  7. ax.set_xlim(xmin, xmax)
  8. ax.set_ylim(ymin, ymax)
  9. ax.set_aspect('equal')
  10. ax.text(1.13014, 3.14588, '$ 2\\pi R^2 $',
  11. horizontalalignment='left', fontsize=14)
  12. # line
  13. mpl.arrow(x=2, y=4.5, dx=-2, dy=-2.5,
  14. facecolor='k', edgecolor='k',
  15. linestyle='solid',
  16. linewidth=1, head_width=0.1,
  17. length_includes_head=True,
  18. shape='full')
  19. mpl.arrow(x=0, y=2, dx=2, dy=2.5,
  20. facecolor='k', edgecolor='k',
  21. linestyle='solid',
  22. linewidth=1, head_width=0.1,
  23. length_includes_head=True,
  24. shape='full')
  25. ax.text(6, 5.16667, '$ 2\\pi R^2 $',
  26. horizontalalignment='center', fontsize=14)
  27. # line
  28. mpl.arrow(x=4, y=5, dx=4, dy=0,
  29. facecolor='k', edgecolor='k',
  30. linestyle='solid',
  31. linewidth=1, head_width=0.1,
  32. length_includes_head=True,
  33. shape='full')
  34. mpl.arrow(x=8, y=5, dx=-4, dy=0,
  35. facecolor='k', edgecolor='k',
  36. linestyle='solid',
  37. linewidth=1, head_width=0.1,
  38. length_includes_head=True,
  39. shape='full')
  40. ax.text(1.07454, 5.14907, '$ 2\\pi R^2 $',
  41. horizontalalignment='center', fontsize=14)
  42. # line
  43. mpl.arrow(x=0, y=5.5, dx=2, dy=-1,
  44. facecolor='k', edgecolor='k',
  45. linestyle='solid',
  46. linewidth=1, head_width=0.1,
  47. length_includes_head=True,
  48. shape='full')
  49. mpl.arrow(x=2, y=4.5, dx=-2, dy=1,
  50. facecolor='k', edgecolor='k',
  51. linestyle='solid',
  52. linewidth=1, head_width=0.1,
  53. length_includes_head=True,
  54. shape='full')
  55. ax.text(1.11785, 1.11785, '$ 2\\pi R^2 $',
  56. horizontalalignment='left', fontsize=14)
  57. # line
  58. mpl.arrow(x=0, y=2, dx=2, dy=-2,
  59. facecolor='k', edgecolor='k',
  60. linestyle='solid',
  61. linewidth=1, head_width=0.1,
  62. length_includes_head=True,
  63. shape='full')
  64. mpl.arrow(x=2, y=0, dx=-2, dy=2,
  65. facecolor='k', edgecolor='k',
  66. linestyle='solid',
  67. linewidth=1, head_width=0.1,
  68. length_includes_head=True,
  69. shape='full')
  70. ax.text(8.8882, 1.27639, '$ 2\\pi R^2 $',
  71. horizontalalignment='right', fontsize=14)
  72. # line
  73. mpl.arrow(x=8, y=2, dx=2, dy=-1,
  74. facecolor='k', edgecolor='k',
  75. linestyle='solid',
  76. linewidth=1, head_width=0.1,
  77. length_includes_head=True,
  78. shape='full')
  79. mpl.arrow(x=10, y=1, dx=-2, dy=1,
  80. facecolor='k', edgecolor='k',
  81. linestyle='solid',
  82. linewidth=1, head_width=0.1,
  83. length_includes_head=True,
  84. shape='full')
  85. ax.text(8.92546, 3.35093, '$ 2\\pi R^2 $',
  86. horizontalalignment='center', fontsize=14)
  87. # line
  88. mpl.arrow(x=8, y=4, dx=2, dy=-1,
  89. facecolor='k', edgecolor='k',
  90. linestyle='solid',
  91. linewidth=1, head_width=0.1,
  92. length_includes_head=True,
  93. shape='full')
  94. mpl.arrow(x=10, y=3, dx=-2, dy=1,
  95. facecolor='k', edgecolor='k',
  96. linestyle='solid',
  97. linewidth=1, head_width=0.1,
  98. length_includes_head=True,
  99. shape='full')
  100. ax.text(4.16667, 4.5, '$ 2\\pi R^2 $',
  101. horizontalalignment='left', fontsize=14)
  102. # line
  103. mpl.arrow(x=4, y=5, dx=0, dy=-1,
  104. facecolor='k', edgecolor='k',
  105. linestyle='solid',
  106. linewidth=1, head_width=0.1,
  107. length_includes_head=True,
  108. shape='full')
  109. mpl.arrow(x=4, y=4, dx=0, dy=1,
  110. facecolor='k', edgecolor='k',
  111. linestyle='solid',
  112. linewidth=1, head_width=0.1,
  113. length_includes_head=True,
  114. shape='full')
  115. ax.annotate('text_spacing=-1./40, alignment="right"', xy=(9, 1.2), xycoords='data',
  116. textcoords='data', xytext=(4, 0.5),
  117. horizontalalignment='left',
  118. verticalalignment='top',
  119. fontsize=10,
  120. arrowprops=dict(arrowstyle='->',
  121. facecolor='black',
  122. linewidth=2,
  123. shrinkA=5,
  124. shrinkB=5))
  125. ax.annotate('text_spacing=-1./60', xy=(9, 3.2), xycoords='data',
  126. textcoords='data', xytext=(4, 3.5),
  127. horizontalalignment='left',
  128. verticalalignment='top',
  129. fontsize=10,
  130. arrowprops=dict(arrowstyle='->',
  131. facecolor='black',
  132. linewidth=2,
  133. shrinkA=5,
  134. shrinkB=5))
  135. mpl.title("Distance_wText and text positioning")
  136. mpl.draw()
  137. mpl.savefig("tmp_Distance_wText.png", dpi=None)
  138. mpl.savefig("tmp_Distance_wText.pdf")