1.需求
读取excel的数据,绘制散点图,并保存图片。
2.所需要的包/模块
3.具体代码实现
#-*- coding:utf-8 -*- import matplotlib.pyplot as plt import xlrd rbook = xlrd.open_workbook(‘testData.xlsx‘) table = rbook.sheet_by_index(0) nrows = table.nrows ncols = table.ncols a1_values = table.col_values(1) a2_values = table.col_values(2) a3_values = table.col_values(3) a4_values = table.col_values(4) #图1 plt.figure(1,figsize=(16, 12)) plt.subplot(121) plt.title("图a") plt.xlabel("x") plt.ylabel("y") plt.rcParams[‘font.sans-serif‘]=[‘SimHei‘] plt.rcParams[‘axes.unicode_minus‘] = False plt.scatter(a1_values,a2_values,s=30) #图2 plt.figure(1,figsize=(16, 12)) plt.subplot(122) plt.title("图2") plt.xlabel("x") plt.ylabel("y") plt.rcParams[‘font.sans-serif‘]=[‘SimHei‘] plt.rcParams[‘axes.unicode_minus‘] = False plt.scatter(a3_values,a4_values,s=30) plt.subplots_adjust(left=None, bottom=None, right=None, top=None,wspace=0.3, hspace=0.3) plt.savefig(‘test.png‘) plt.show()
4.遇到的问题及解决办法
1)标题无法显示中文:
加以下两句可解决:
plt.rcParams[‘font.sans-serif’]=[‘SimHei’] #用来正常显示中文标签 plt.rcParams[‘axes.unicode_minus’]=False #用来正常显示负号
2)多图重叠:
调整子图之间的间距,通过设置图片之间的参数
plt.subplots_adjust(left=None, bottom=None, right=None, top=None,wspace=0.3, hspace=0.3)
3)savefig出现空白图片
plt.savefig()要在plt.show()之前
5.结果
6.可优化部分/后续进程
1)标注每个点所对应的文本标签;
2)将离群点用别的颜色显示出来;
3)统一所有图的坐标系;
......
原文:https://www.cnblogs.com/serenelian/p/12801733.html