1、绘制条形图
1 import matplotlib 2 import matplotlib.pyplot as plt 3 4 # 显示中文标识 5 matplotlib.rcParams["font.sans-serif"] = ["SimHei"] 6 matplotlib.rcParams["axes.unicode_minus"] = False 7 8 # X/Y轴刻度 9 x = [1,2,3,4,5,6,7,8] 10 y = [3,1,4,5,8,9,7,2] 11 12 # ==============绘制条形图================= 13 plt.bar(x, 14 y, 15 align="center", # 排列方式 16 color="c", # 填充颜色 17 tick_label=["q","a","c","e","r","j","b","p"], # 将X轴上的刻度替换成指定编号 18 hatch="/") # 图形填充值,可取值为: / , , | , - , + , x , o , O , . , * 19 20 # X/Y轴标签 21 plt.xlabel("箱子编号") 22 plt.ylabel("箱子重量(kg)") 23 24 plt.show()
2、绘制水平条形图
1 import matplotlib 2 import matplotlib.pyplot as plt 3 4 # 显示中文标识 5 matplotlib.rcParams["font.sans-serif"] = ["SimHei"] 6 matplotlib.rcParams["axes.unicode_minus"] = False 7 8 # X/Y轴刻度 9 x = [1,2,3,4,5,6,7,8] 10 y = [3,1,4,5,8,9,7,2] 11 12 # ==============绘制水平条形图================= 13 plt.barh(x, 14 y, 15 align="center", # 排列方式 16 color="c", # 填充颜色 17 tick_label=["q","a","c","e","r","j","b","p"], # 将X轴上的刻度替换成指定编号 18 hatch="/") # 图形填充值,可取值为: / , , | , - , + , x , o , O , . , * 19 20 # X/Y轴标签 21 plt.xlabel("箱子重量(kg)") 22 plt.ylabel("箱子编号") 23 24 plt.show()
3、绘制直方图
1 import matplotlib 2 import matplotlib.pyplot as plt 3 import numpy as np 4 5 # 显示中文标识 6 matplotlib.rcParams["font.sans-serif"] = ["SimHei"] 7 matplotlib.rcParams["axes.unicode_minus"] = False 8 9 # 随机生成0,9的100个整数 10 x = np.random.randint(0,10,100) 11 bins = range(0,11,1) 12 13 # ================绘制直方图================ 14 plt.hist(x=x, # 分布数据 15 bins=bins, # 指定共有几个箱子,也就是有几条条形图 16 color="g", # 条形图颜色 17 histtype="barstacked", # 条形图类型,可选bar,barstacked,step,stepfilled,默认为bar 18 align="mid", # 直方图样式,可选 left mid right 19 rwidth=0.8, # 柱子与柱子之间的距离,默认是0 20 alpha=0.6) # 透明度 21 # X/Y轴标签 22 plt.xlabel("箱子重量(kg)") 23 plt.ylabel("销售个数(个)") 24 25 plt.show()
4、绘制饼图
1 import matplotlib 2 import matplotlib.pyplot as plt 3 4 # 显示中文标识 5 matplotlib.rcParams["font.sans-serif"] = ["SimHei"] 6 matplotlib.rcParams["axes.unicode_minus"] = False 7 8 # 数据类型 9 kinds = "简易箱","保温箱","行李箱","密封箱" 10 11 # 每种数据的填充颜色 12 colors = ["r","g","b","c"] 13 14 # 每种数据的占比 15 soldNums = [0.05,0.45,0.15,0.35] 16 17 # ===================绘制饼图==================== 18 plt.pie(x=soldNums, # 每种数据的占比 19 labels=kinds, # 饼图外侧显示的说明文字 20 autopct="%3.1f%%", # 控制饼图内百分比设置,'%1.1f'指小数点前后位数(没有用空格补齐) 21 startangle=60, # 起始绘制角度,默认图是从x轴正方向逆时针画起,如设定=90则从y轴正方向画起 22 colors=colors) # 每快饼的填充颜色 23 24 # 标题 25 plt.title("不同箱子的销售占比") 26 plt.show()
5、在极坐标轴上绘制折线图
1 import matplotlib.pyplot as plt 2 import numpy as np 3 4 # 从0到2pi取12个数.endpoint:如果为False则最后一个数不为2pi,如果为True则最后一个数为2pi 5 theta = np.linspace(start=0.0,stop=2*np.pi,num=12,endpoint=False) 6 7 # 创建一个给定类型(12个)的数组,将其填充在一个均匀分布的随机样本[0, 1)中 8 r = 30*np.random.rand(12) 9 10 # ===============在极坐标轴上绘制折线图================= 11 plt.polar(theta, # 每个标记所在的射线与极径的夹角 12 r, # 每个标记到原点的距离 13 color="chartreuse", # 颜色 14 linewidth=2, # 线宽 15 marker="*", # 标志点 16 mfc="b", # 数据点的颜色 17 ms=10) # 标志点大小 18 plt.show()
6、绘制气泡图
1 import matplotlib.pyplot as plt 2 from matplotlib import cm 3 import numpy as np 4 5 # 生成指定维度(100维度)的服从标准正态分布的随机数 6 a = np.random.randn(100) 7 b = np.random.randn(100) 8 9 # ==================绘制气泡图=================== 10 plt.scatter(x=a, # x轴上的数值 11 y=b, # y轴上的数值 12 s=np.power(10*a+20*b,2),# 散点标记的大小((数组a*10+数组b*20)的平方) 13 c=np.random.rand(100), # 散点标记的颜色 14 cmap=cm.RdYlBu, # 将浮点数映射成颜色的颜色映射率 15 marker="o") # 标记点(气泡) 16 plt.show()
7、绘制棉棒图
1 import matplotlib.pyplot as plt 2 import numpy as np 3 4 # 从0到2pi取20个数 5 x = np.linspace(0.5,2*np.pi,20) 6 7 # 生成指定维度(20维度)的服从标准正态分布的随机数 8 y = np.random.randn(20) 9 10 # ====================绘制棉棒图================= 11 plt.stem(x, # 指定棉棒的x轴基线上的位置 12 y, # 绘制棉棒的长度 13 linefmt="-", # 棉棒的样式 14 markerfmt="o", # 棉棒末端的样式 15 basefmt="-") # 指定基线的样式 16 plt.show()
8、绘制箱线图
1 import matplotlib 2 import matplotlib.pyplot as plt 3 import numpy as np 4 5 # 显示中文标识 6 matplotlib.rcParams["font.sans-serif"] = ["SimHei"] 7 matplotlib.rcParams["axes.unicode_minus"] = False 8 9 # 生成指定维度(1000维度)的服从标准正态分布的随机数 10 x = np.random.randn(1000) 11 12 # ===================绘制箱线图===================== 13 plt.boxplot(x) 14 15 plt.xticks([1],["随机数生成器AlphaRM"]) 16 17 # y轴上的标签 18 plt.ylabel("随机数值") 19 20 # 标题 21 plt.title("随机数生成器抗干扰能力的稳定性") 22 23 # 绘制网格线 24 plt.grid(axis="y", # 在y轴上绘制网格线 25 ls=":", # 网格线样式 26 color="gray", # 网格线颜色 27 alpha=0.4) # 网格线透明度 28 plt.show()
9、绘制误差棒图
1 import matplotlib.pyplot as plt 2 import numpy as np 3 4 # 从0.1到0.6区6个值 5 x = np.linspace(0.1,0.6,6) 6 7 # 指数函数 8 y = np.exp(x) 9 10 # ===================绘制误差棒图================== 11 plt.errorbar(x=x, # 数据点的水平位置 12 y=y, # 数据点的垂直位置 13 fmt="bo:", # 数据点的标记样式以及相互之间连接线样式 14 yerr=0.2, # y轴方向的数据点的误差计算方法 15 xerr=0.02, # x轴方向的数据点的误差计算方法 16 ecolor="r", # 误差棒的颜色 17 elinewidth=2, # 误差棒线条的粗细大小 18 capsize=10, # 误差棒边界横杠的大小 19 capthick=4, # 误差棒边界横杠的厚度 20 ms=10, # 数据点的大小 21 mfc="g", # 数据点的颜色 22 mec="m") # 数据点边缘的颜色 23 # x轴上的刻度 24 plt.xlim(0,0.7) 25 plt.show()