在做毕设的过程中有些数据用表格来展现,会很难看出数据之间的差别,凸显不出数据的特点,所以想制作一个条形图,这里特地记录下,已备以后用到。
import numpy as np import matplotlib.pyplot as plt import matplotlib #指定默认字体 matplotlib.rcParams['font.sans-serif'] = ['FangSong'] matplotlib.rcParams['font.family']='sans-serif' c101= (8,7,3,7,10,4,11,8,11,10,8,9) c102= (21,21,24,25,16,17,11,24,24,25,36,33) c103= (4,4,10,3,9,8,12,2,4,5,2,6) c104= (1,5,1,3,2,3,3,3,6,5,1,0) c105= (3,1,0,1,3,3,1,2,0,0,0,0) c106= (1,2,0,0,1,1,0,0,1,1,0,0) c107= (1,0,1,0,0,1,0,0,0,0,0,0) c108= (0,1,0,0,0,2,1,1,0,1,0,0) c109= (1,0,1,1,0,0,1,1,0,0,0,0) ind = np.arange(0,24,2) # the x locations for the groups width = 0.2 # the width of the bars fig,ax = plt.subplots() rects1 = ax.bar(ind + width, c101, width, color='SkyBlue',align='edge', label='101') rects2 = ax.bar(ind + 2*width, c102, width,color='IndianRed',align='edge', label='102') rects3 = ax.bar(ind + 3*width, c103, width, color='Cyan',align='edge', label='103') rects4 = ax.bar(ind + 4*width, c104, width, color='Magenta',align='edge', label='104') rects5 = ax.bar(ind + 5*width, c105, width, color='Purple',align='edge', label='105') rects6 = ax.bar(ind + 6*width, c106, width, color='Green',align='edge', label='106') rects7 = ax.bar(ind + 7*width, c107, width, color='Yellow',align='edge', label='107') rects8 = ax.bar(ind + 8*width, c108, width, color='Blue',align='edge', label='108') rects9 = ax.bar(ind + 9*width, c109, width, color='Orange',align='edge', label='109') # Add some text for labels, title and custom x-axis tick labels, etc. #ax.set_title('Scores by group and gender') plt.xticks(ind,('1班', '2班', '3班', '4班', '5班','6班','7班','8班','9班','10班','11班','12班')) ax.legend(loc='upper center') plt.show() fig.savefig('./test77.jpg')
竖起来的
%matplotlib notebook import matplotlib.pyplot as plt import pandas as pd import numpy as np import seaborn as sns import matplotlib #指定默认字体 matplotlib.rcParams['font.sans-serif'] = ['FangSong'] matplotlib.rcParams['font.family']='sans-serif' #解决负号'-'显示为方块的问题 matplotlib.rcParams['axes.unicode_minus'] = False data = [[8, 21, 4, 1, 3, 1, 1, 0, 1], [7,21,4,5,1,2,0,1,0], [3,24,10,1,0,0,1,0,1], [7,25,3,3,1,0,0,0,1], [10,16,9,2,3,1,0,0,0], [4,17,8,3,3,1,1,2,0], [11,11,12,3,1,0,0,1,1], [8,24,2,3,2,0,0,1,1], [11,24,4,6,0,1,0,0,0], [10,25,5,5,0,1,0,1,0], [8,36,2,1,0,0,0,0], [9,33,6,0,0,0,0,0]] df = pd.DataFrame(data, index=['1班','2班','3班','4班','5班','6班','7班','8班','9班','10班','11班','12班'], columns=pd.Index(['101','102','103','104','105','106','107','108','109']), ) df.plot(kind='barh',figsize=(5,8)) plt.show() #fig.savefig('./test2.jpg')
到此,关于“如何用python画条形图,代码是什么”的学习就结束了,希望能够解决大家的疑惑,另外大家动手实践也很重要,对大家加深理解和学习很有帮助。如果想要学习更多的相关知识,欢迎关注群英网络,小编每天都会给大家分享实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理