最近在学着如何可视化COCO数据集的标注,需要用到matplotlib来画图,参考了一些资料。以下代码来源于参考资料
参考资料1
参考资料2
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] # #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示坐标轴的负号
x = np.linspace(-3, 3, 50) # 注意linspace不是linespace
y1 = 2*x+1
y2 = x**2+1
plt.figure(num=3, figsize=(6, 6))
l1,=plt.plot(x, y1,label='山高月小')#放在handles中l1一定要加,
l2,=plt.plot(x, y2, color='violet', linewidth=3.0, linestyle='--',label='水落石出')# 指定颜色,线宽和线型
#貌似没什么作用
# plt.legend(handles=[l1, l2],labels=['小舟从此逝','江海寄余生'],loc='best')
# plt.legend(handles=[l1,],labels=['小舟从此逝',],loc='best')
# plt.xlabel("I am x")
# plt.ylabel("I am y")
#
#设置x刻度的间隔
# new_ticks = np.linspace(-1,2,5)
# print(new_ticks)
# plt.xticks(new_ticks)
#
# plt.yticks([-2, -1.5, 0, 1.5, 3],
# [r'$Really\ bad\ \alpha$', r'$bad$', r'$normal$', r'$good$', r'$very\ good$'])#r表示正则化,$$表示用数学字体输出
ax = plt.gca()
# 隐藏上边和右边
ax.spines['right'].set_color('None')
ax.spines['top'].set_color('None')
ax.xaxis.set_ticks_position('bottom')# 设置bottom为x轴
ax.yaxis.set_ticks_position('left')# 设置left为y轴
#设置坐标原点,将两条线的交叉原点设为(0,0)
ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('data',0))
plt.legend()
plt.show()