1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > python数据分析————matplotlib常见图表的绘制

python数据分析————matplotlib常见图表的绘制

时间:2022-04-11 05:10:45

相关推荐

python数据分析————matplotlib常见图表的绘制

常见图表

由上一篇博客我们可以大致了解,常见的图表分为以下几种:

折线图:以折线方式反应数据变化趋势直方图:利用方块大小反应数据差异条形图:显示各个项目之间的比较情况,和直方图有类似的作用饼图:显示各数据的百分比情况散点图:显示若干数据系列中各数值之间的关系箱型图:用来显示一组数据分散情况的统计图,在识别异常值方面有一定的优越性

基本环境

import matplotlib.pyplot as pltimport numpy as npimport matplotlib

条形图

条形图

# 条形图labels = ['G1', 'G2', 'G3', 'G4', 'G5']men_means = [20, 34, 30, 35, 27]women_means = [25, 32, 34, 20, 25]# 标签位置x = np.arange(len(labels)) # 设置条形宽度height = 0.35fig, ax = plt.subplots()# 设置子绘图区域rects1 = ax.bar(x - height/2, men_means, height, label='Men')rects2 = ax.bar(x + height/2, women_means, height, label='Women')ax.set_xlabel('Scores')ax.set_title('Scores by group and gender')ax.set_xticks(x)ax.set_xticklabels(labels)ax.legend()plt.show()# 水平条形图y = np.arange(len(labels))fig, ax = plt.subplots()rects1 = ax.barh(y - height/2, men_means, height, label='Men')rects2 = ax.barh(y + height/2, women_means, height, label='Women')ax.set_xlabel('Scores')ax.set_title('Scores by group and gender')ax.set_yticks(y)ax.set_yticklabels(labels)ax.legend()plt.show()

折线图

# 设置字体为黑体matplotlib.rcParams['font.family']='SimHei'x = [1,2,3,4,5]y = [10,12,23,44,65]# ms表示星型标记字符的大小plt.plot(x,y,'r*--',ms=10,label="a")plt.xlabel("发布时间")plt.ylabel("访问量")plt.title("翠花博客活跃度")plt.legend()plt.show()

饼图

labels= 'Frogs','Hogs','Dogs','Logs'sizes = [15,30,45,10]explode = (0,0.1,0,0)plt.pie(sizes,explode=explode,labels=labels,autopct='%1.1f%%',shadow=False,startangle=90)plt.show()

直方图

# 生成高斯分布的概率密度随机数 50为均值 20为标准差a = np.random.normal(50,20,size=100)plt.xlabel('横轴:time',fontproperties='SimHei',fontsize=20)plt.ylabel('纵轴:Hz',fontproperties='Kaiti',fontsize=10)plt.hist(a,20,histtype='stepfilled',facecolor='b',alpha=0.75)plt.show()

散点图

fig,ax=plt.subplots()# fig ax分别图表和图表绘制的区域# 横轴和纵轴分别对应正态分布10倍后的点,标记方式为o型ax.plot(10*np.random.randn(100),10*np.random.randn(100),'o')ax.set_title('Simple Scatter')plt.show()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。