1、添加图例和标题
1 import matplotlib 2 import matplotlib.pyplot as plt 3 import numpy as np 4 # 显示中文标识 5 matplotlib.rcParams["font.sans-serif"] = ["SimHei"] # 设置字体为SimHei 6 matplotlib.rcParams["axes.unicode_minus"] = False # 放弃使用unicode_minus 7 8 # 在-2pi到2pi之间取200个数据点 9 x = np.linspace(-2*np.pi,2*np.pi,200) 10 y1 = np.sin(x) # 正弦函数 11 y2 = np.cos(x) # 余弦函数 12 13 # 绘制正弦余弦函数图形,并通过label将标签添加到图例当中 14 plt.plot(x,y1,label=r"$\sin(x)$") 15 plt.plot(x,y2,label=r"$\cos(x)$") 16 17 # 添加图例 18 plt.legend(loc="lower left") 19 20 # 添加标题 21 plt.title("正弦函数与余弦函数的折线图") 22 23 plt.show()
2、图例的样式展示调整
1 import matplotlib.pyplot as plt 2 import numpy as np 3 x = np.arange(0,2.1,0.1) 4 y1 = np.power(x,3) 5 y2 = np.power(x,2) 6 y3 = np.power(x,1) 7 8 # 绘制指数函数。ls:表示线条样式。lw:表示线条宽度,c:表示线条颜色,label:表示图例里的标签 9 plt.plot(x,y1,ls="-",lw=2,c="b",label="$x^{3}$") 10 plt.plot(x,y2,ls="--",lw=2,c="r",label="$x^{2}$") 11 plt.plot(x,y3,ls="-",lw=2,c="y",label="$x^{1}$") 12 13 # ===========================图例的样式展示调整=========================== 14 plt.legend(loc="upper left", # 图例所在的位置 15 bbox_to_anchor=(0.05,0.95), # 线框位置参数 16 ncol=3, # 设置图例分为3列展示 17 title="power function", # 图例标签内容标题参数 18 shadow=True, # 线框阴影参数 19 fancybox=True) # 线框圆角处理参数 20 plt.show()
3、标题展示样式调整
1 import matplotlib.pyplot as plt 2 import numpy as np 3 4 x = np.linspace(-2,2,1000) 5 y = np.exp(x) 6 7 plt.plot(x,y,ls="-",lw=2,c="g") 8 9 # ===========================标题展示样式调整============================== 10 plt.title("center mode") 11 plt.title("left mode", # 标题 12 loc="left", # 标题所在的位置 13 fontdict={"size":"xx-large", # 字体大小 14 "color":"r", # 字体颜色 15 "family":"Times New Roman"})# 字体类型 16 17 plt.title("right mode", # 标题 18 loc="right", # 标题位置 19 family="Comic Sans MS", # 字体 20 size=20, # 字体大小 21 style="oblique", # 字体风格样式 22 color="c") # 字体颜色 23 24 plt.show()
4、带图例的饼图
import matplotlib import matplotlib.pyplot as plt # 显示中文标识 matplotlib.rcParams["font.sans-serif"] = ["SimHei"] # 设置字体为SimHei matplotlib.rcParams["axes.unicode_minus"] = False # 放弃使用unicode_minus elements = ["面粉","砂糖","奶油","草莓酱","坚果"] weight = [40,15,20,10,15] colors = ["r","g","b","c","m"] # wedges:饼片。texts:分类标签的文本列表。autotexts:百分比部分的文本列表 wedges,texts,autotexts = plt.pie(weight, # 比例占比 autopct="%3.1f%%", # 每片饼叶的百分比 textprops=dict(color="w"), # 设置饼图中显示百分比例数字的字体颜色 colors=colors) # 每片饼叶的颜色 plt.legend(wedges, # 饼片数据在图例中的颜色 elements, # 饼片的成分 fontsize=12, # 图例的文字大小 title="配料表", # 图例标题 loc="center left", # 图例的位置 bbox_to_anchor=(0.91,0,0.3,1)) # 确定图例在轴的相对位置 # 设置百分比文本样式 plt.setp(autotexts, # 饼图百分比 size=15, # 饼图百分比文字大小 weight="bold") # 饼图百分比字体 # 设置分类标签样式 plt.setp(texts, # 分类标签的文本列表 size=12) # 分类标签的文本字体大小 plt.title("果酱面包配料比例表") plt.show()
5、调整刻度范围和刻度标签的方法
1 import matplotlib.pyplot as plt 2 import numpy as np 3 4 # 从-2pi到2pi选取200个数据点 5 x = np.linspace(-2*np.pi,2*np.pi,200) 6 y = np.sin(x) 7 8 # 在画布的第一个位置画正弦函数(211表示2行1列第1个画布) 9 plt.subplot(211) 10 plt.xlim(-2*np.pi,2*np.pi) # 第一个图的x轴刻度范围 11 plt.plot(x,y) 12 13 # 在画布的第一个位置画正弦函数(212表示2行1列第2个画布) 14 plt.subplot(212) 15 plt.xlim(-2*np.pi,2*np.pi) # 第二个图的x轴刻度范围 16 plt.xticks([-2*np.pi, # 将第一个数组内的刻度替换成第二个数组内的刻度 17 -3*np.pi/2, 18 -1*np.pi, 19 -1*np.pi/2, 20 0, 21 np.pi/2, 22 np.pi, 23 3*np.pi/2, 24 2*np.pi], 25 [r"$-2\pi$", 26 r"$-3\pi/2$", 27 r"$-\pi$", 28 r"$-\pi/2$", 29 r"$0$", 30 r"$\pi/2$", 31 r"$\pi$", 32 r"$3\pi/2$", 33 r"$2\pi$"]) 34 plt.plot(x,y) 35 plt.show()
6、逆序设置坐标轴刻度
1 import matplotlib 2 import matplotlib.pyplot as plt 3 import numpy as np 4 5 # 显示中文标识 6 matplotlib.rcParams["font.sans-serif"] = ["SimHei"] # 设置字体为SimHei 7 matplotlib.rcParams["axes.unicode_minus"] = False # 放弃使用unicode_minus 8 9 time = np.arange(1,11,0.5) 10 machinePower = np.power(time,2)+0.7 11 12 plt.plot(time, # x轴使用时间年限 13 machinePower, # y轴机器功率 14 linestyle="-", # 曲线样式 15 linewidth=2, # 曲线宽度 16 color="red") # 曲线颜色 17 18 plt.xlim(10,1) # 逆序设置坐标轴刻度 19 20 plt.xlabel("使用年限") 21 plt.ylabel("机器功率") 22 23 plt.title("机器损耗曲线") 24 25 plt.grid(ls=":",lw=1,color="g",alpha=0.5) 26 plt.show()
7、向统计图当中添加表格
1 import matplotlib 2 import matplotlib.pyplot as plt 3 4 # 显示中文标识 5 matplotlib.rcParams["font.sans-serif"] = ["SimHei"] # 设置字体为SimHei 6 matplotlib.rcParams["axes.unicode_minus"] = False # 放弃使用unicode_minus 7 8 labels = "A难度水平","B难度水平","C难度水平","D难度水平" 9 students = [0.35,0.15,0.2,0.3] 10 explode = (0.1,0.1,0.1,0.1) 11 colors = ["r","g","b","m"] 12 plt.pie(students, 13 explode=explode, # 饼片边缘偏离半径的百分比 14 labels=labels, # 饼片说明标签 15 autopct="%1.1f%%", # 数值百分比样式 16 startangle=45, # 第一个饼片逆时针旋转角度 17 shadow=True, # 有阴影设置 18 colors=colors) # 饼片颜色 19 20 plt.title("选择不同难度测试试卷的学生百分比") 21 22 colLabels = ["A难度水平","B难度水平","C难度水平","D难度水平"] 23 rowLabels = ["学生选择试卷人数"] 24 studentValues = [[350,150,200,300]] 25 colColours = ["r","g","b","m"] 26 27 plt.table(cellText=studentValues, # 表格的数值 28 cellLoc="center", # 表格中的数据对齐方式 29 colWidths=[0.2]*4, # 表格每列的宽度 30 colLabels=colLabels, # 表格中每列的列名称 31 colColours=colColours, # 表格每列的列名称所在单元格的颜色 32 rowLabels=rowLabels, # 表格每行的行名称 33 rowLoc="center", # 表格每行的行名称对齐方式 34 loc="bottom") # 表格在画布中的位置 35 36 plt.savefig("D:\数据分析\第二章") # 保存图片 37 plt.show()