matplotlib绘制多个子图(汉字标题,XY轴标签,加x,y刻度,给图上每个点加上数值)& PIL.Image 11行读取文件夹中照片 | 您所在的位置:网站首页 › matplotlib设置y轴刻度 › matplotlib绘制多个子图(汉字标题,XY轴标签,加x,y刻度,给图上每个点加上数值)& PIL.Image 11行读取文件夹中照片 |
以下代码解决: matplotlib如何显示汉字如何在一张图上创建多个子图加图例,标题,x,y坐标范围,加x,y刻度控制线型,控制标记风格给图上每个点加上数值利用PIL.Image.read(path)读文件夹中照片图片保存 1. 基本操作,效果如下注意: plt.plot(x, y1, ‘r^-.’,label = “短点相间线”) 这里x=[1,2,3,4,5]是从1开始的,plot时可以只给y值,但是画图的时候起点从0开始
代码 import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['STSong'] # 中文宋体 import numpy as np x=[1,2,3,4,5,] y1=[1,4,6,8,2,] y2=[2,5,7,9,3,] y3=[3,6,8,10,4,] plt.plot(x, y1, 'r^-.',label = "短点相间线") plt.plot(x, y2, 'g^--',label = "短线") plt.plot(x, y3, 'b^:',label = "虚线") plt.legend(loc='best') for i in range(5): plt.text(x[i],y1[i]+0.2,s=y1[i],fontsize=10, color = "r", style = "italic", weight = "light", verticalalignment='center', horizontalalignment='right',rotation=0)#这里y1[i]+0.2加上0.2的目的是防止标记风格掩盖数字,所以将显示数字的位置上调 plt.show() 3. 11行读取文件夹中所有照片 #读文件夹中的照片 import os import glob import matplotlib.pyplot as plt from PIL import Image#读图片用 #Image.open(path)中的path只能读一个具体的文件不能读文件夹 path0='luohao_person_reid\dataset\Market-1501-v15.09.15\\bounding_box_test\\0000_c1s1_000151_01.jpg'#YES path1='luohao_person_reid\dataset\Market-1501-v15.09.15\\bounding_box_test'#NO path2 = glob.glob(os.path.join('luohao_person_reid\dataset\Market-1501-v15.09.15\\bounding_box_test', '*.jpg'))#拿出path3下所有后缀带.jpg的文件,并给出绝对路径 for i in range(5): img = Image.open(path2[i]).convert('RGB')#type(path2)是list plt.figure(i)#每次创建一个画图(不放这句的话图形显示连贯),可以在最后加一个plt.close()关闭每个figure plt.imshow(img) plt.pause(0.2) plt.show()#这是最终的一个显示,加上这句,图片就不连着放,需要鼠标点 #生成两幅图片,同时显示两个画布 # img = Image.open(path2[0]).convert('RGB') # img1 = Image.open(path2[1]).convert('RGB') # plt.figure(1) # plt.imshow(img) # plt.figure(2) # plt.imshow(img1) # plt.show()使用os.path.join('数据/图片',image_name)生成目录,括号中前一半是文件夹名,后一半是图片的名字 注意:要实现建好文件夹,否则报错 import os img = Image.open(path1) #法一 img.save(os.path.join('数据/图片',image_name)) #法二 plt.savefig() #法三 scipy.misc.imsave( 'feature_map_save//'+str(index) + ".png", feature_map[index - 1]) #在REID代码里,有cv2.imwrite()的方法 |
CopyRight 2018-2019 实验室设备网 版权所有 |