Python笔记:matplotlib图表基础篇
matplotlib是什么
matplotlib是一个Python的绘图库,可以通过代码实现绘图的功能。
本笔记属于matplotlib的图表向知识。
matplotlib的官方网站与图例
官方网站
Matplotlib: Python plotting — Matplotlib 3.4.2 documentation
官方展示的图例
Gallery — Matplotlib 3.4.2 documentation
matplotlib的安装
pip install matplotlib
matplotlib的使用
导入包
from matplotlib import pyplot as plt
最简单的图表生成
from matplotlib import pyplot as plt import random x = range(0,10) #X轴上的数据 y = [] #Y轴上的数据 for i in x: y.append(random.randint(0,9)) plt.plot(x,y) #plot是折线图,传入X轴和Y轴的数据 plt.show() #显示图表
图表的基础设置
from matplotlib import pyplot as plt import random #导入字体管理器 from matplotlib.font_manager import FontProperties #设置汉字格式,simsun.ttc是宋体 font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=15) #设置图片的尺寸大小和dpi #dpi,分辨率,图像每英寸长度内的像素点数 plt.figure(figsize=(16,8),dpi=80) #X轴上的数据 x = range(0,10) #Y轴上的数据 y = [] for i in x: y.append(random.randint(0,9)) plt.title("我是图表的标题", fontproperties=font) plt.xlabel("我是X轴的标签", fontproperties=font) plt.ylabel("我是Y轴承的标签", fontproperties=font) #设置Y轴的刻度 plt.yticks(x) #设置X轴的刻度 #第一个参数是X轴的刻度 #第二个参数是X轴的刻度对应的文本,第一个参数和第二个参数的长度要保持一致 #rotation为文本的旋转角度 #fontproperties,字体 x_label = [] for i in x: label = str(i) + '日' x_label.append(label) plt.xticks(x,x_label,rotation=45, fontproperties=font) #绘制网格 #alpha,透明度,参数范围是0.0-1.0 plt.grid(alpha=0.8) #plot是折线图,传入X轴和Y轴的数据 #color,线条颜色,r:红色,g:绿色,b:蓝色,w:白色,c:青色,m:洋红,y:黄色,k:黑色等等具体可以上网查颜色码对照表,也可以用#000000表示 #linestyle,线条风格,-:实线,--:虚线,-.:点划线,::点虚线,'':无线条 plt.plot(x, y, label="第一条折线", color='r', linestyle='--',linewidth=3, alpha=0.5) plt.plot(x, x, label="第二条折线") #散点图 #marker,点的样式 plt.scatter(x, y, color='k', linewidth=5, marker='+') #竖向条形图 #width,条形粗细 plt.bar(x, y, color='red', width=0.1) #横向条形图 #height,条形粗细 plt.barh(x, y, color='yellow', height=0.1)#直方图#x,以数组形式保存的数据#num_bins,组距,通常是x中的最大值-最小值,得出数据的范围长度,再计算组距。plt.hist(x, num_bins)#饼图plt.pie(x) #添加图例 #需要在plot中设置label参数 #prop,图例字体 #loc,图例位置,参数范围是0-10,也可以传入字符串 #0:best、1:upper right、2:upper left、3:lower left、4:lower right、5:right#6:center left、7:center right、8:lower center、9:upper center、10:center plt.legend(prop=font, loc=0) #显示图表 plt.show() #保存图表为png文件,也可以保存为SVG矢量图格式,这种格式放大不会有锯齿 plt.savefig("图表.png")

浙公网安备 33010602011771号