使用matplotlib绘制图像
import matplotlib.pyplot as plt from matplotlib.pyplot import MultipleLocator import numpy as np import seaborn as sns #描绘曲线图,可以对通过np.percentile获得数据的百分位 def draw_percentile(x,y): a=np.arange(0,1000) #获得a中91%分位的数值 t=np.percentile(a,91) print(t) # x、y是两个list # 创建一个点数为 8 x 6 的窗口, 并设置分辨率为 80像素/每英寸 plt.figure(figsize=(16, 8), dpi=80) # 再创建一个规格为 1 x 1 的子图 plt.subplot(1, 1, 1) plt.title(‘voice length ratio ‘,fontsize=24) #设置坐标轴字体的大小 plt.tick_params(axis=‘both‘, which=‘major‘, labelsize=14) # 绘制曲线, 宽度为3,线的颜色为紫罗兰色 plt.plot(x, y, linewidth=3.0,color="#87CEFA") #设置横坐标的标签范围 plt.xlim(0, 300) # 设置横轴标签 plt.xlabel(‘voice length(s)‘,fontsize=14) # 设置纵轴标签 plt.ylabel(‘ratio(%)‘,fontsize=14) # 把x轴的刻度间隔设置为20,并存在变量里 x_major_locator = MultipleLocator(20) # 把y轴的刻度间隔设置为10,并存在变量里 y_major_locator = MultipleLocator(10) # ax为两条坐标轴的实例 ax = plt.gca() # 把x轴的主刻度设置为1的倍数 ax.xaxis.set_major_locator(x_major_locator) ax.yaxis.set_major_locator(y_major_locator) plt.show() #绘制直方图的两种方式 def draw_data_distribution(): np.random.seed(444) d = np.random.laplace(loc=15, scale=3, size=100) #绘制直方图,纵坐标对应的是频数 #bins设置分箱个数,可为 auto number_bins, boundary_bins, patches = plt.hist(x=d, bins=10, color=‘#0504aa‘, alpha=0.7, rwidth=0.85) print(‘频数:‘,number_bins) print(‘分箱边界:‘,boundary_bins) plt.xlabel(‘data‘) plt.ylabel(‘frequency‘) plt.show() #单变量分布的直方图和kde同时绘制出来 sns.distplot(d,kde=True) plt.xlabel(‘data‘) plt.ylabel(‘kde Density‘) plt.show() if __name__==‘__main__‘: draw_data_distribution()
原文:https://www.cnblogs.com/AntonioSu/p/11986094.html