Python+matplotlib+字母数字加上划线
如题.
import matplotlib.pyplot as plt
def numStr(num):
if num >= 0:
return str(num)
return r'$\overline{' + str(abs(num)) + '}$'
if __name__ == '__main__':
plt.figure(num="Crystal Diffraction", facecolor="black", figsize=(7, 6))
x = (1, -4, 4, 9, 4, 1)
y = (2, 5, 8, 5, -1, 2)
plt.scatter(x, y, c="white", s=100) # 绘制散射点
# 画上坐标
for xy in zip(x, y):
plt.annotate("%s %s" % xy, xy=xy, xytext=(-10, 4), textcoords="offset points", c="red")
for i in range(len(x)):
# r'$\overline{a}$' 字母a,加上上划线
plt.text(x[i]-0.5, y[i]+0.5, r'$\overline{a}$', fontsize=10, color="gray")
# 拼接
# numStr() 方法是 正数返回字符串, 负数返回带上划线的字符串
plt.text(x[i]-1, y[i]+1, numStr(x[i]) + numStr(y[i]), fontsize=10, color="white")
plt.xticks([]) # 去掉x轴
plt.yticks([]) # 去掉y轴
plt.axis('off') # 去掉坐标轴
plt.show()


浙公网安备 33010602011771号