前言
用python编程绘图,其实非常简单。中学生、大学生、研究生都能通过这10篇教程从入门到精通!快速绘制几种简单的柱状图。
1垂直柱图(普通柱图)
绘制普通柱图的python代码如下:
(左右滑动可以查看全部代码)
# -*- coding:utf-8 -*- # 申明编码格式为utf-8 import matplotlib as mpl import matplotlib.pyplot as plt mpl.rcParams["font.sans-serif"]=["SimHei"] #指定字体为SimHei,用于显示中文,如果Ariel,中文会乱码 mpl.rcParams["axes.unicode_minus"]=False #用来正常显示负号 x = [1,2,3,4,5,6,7,8] y = [30,11,42,53,81,98,72,25] #数据 abels=["A","B","C","D","E","F","G","H"] #定义柱子的标签 plt.bar(x,y,align="center",color="rgb",tick_label=labels,hatch=" ",ec='gray') #绘制纵向柱状图,hatch定义柱图的斜纹填充,省略该参数表示默认不填充。 #bar柱图函数还有以下参数: #颜色:color,可以取具体颜色如red(简写为r),也可以用rgb让每条柱子采用不同颜色。 #描边:edgecolor(ec):边缘颜色;linestyle(ls):边缘样式;linewidth(lw):边缘粗细 #填充:hatch,取值:/,|,-,+,x,o,O,.,* #位置标志:tick_label plt.xlabel(u"样品编号") plt.ylabel(u"库伦效率/%") plt.show()
2 水平柱图
将上述代码稍微调整几行代码即可绘制出水平柱图。
(1)第19行“plt.bar”加一个字母h,即“plt.barh”
(2)第28和29行两行的“plt.xlabel”和“plt.ylable”中的x和y互换一下。
得到绘图效果如下:
3堆积柱图
将第1点中代码第14~21行代码调整如下:
(左右滑动可以查看全部代码)
x = [1,2,3,4,5,6,7,8] y = [30,11,42,53,81,98,72,25] y1= [45,23,44,67,88,89,65,75] #数据 labels=["A","B","C","D","E","F","G","H"] #定义柱子的标签 plt.bar(x,y,align="center",color="b",tick_label=labels,hatch=" ",ec='gray') #绘制纵向柱状图,hatch定义柱图的斜纹填充,省略该参数表示默认不填充。 plt.bar(x,y1,align="center",color="g",tick_label=labels,hatch=" ",ec='gray',bottom=y)
绘制出垂直堆积图效果如下:
上述第22行是绘制y1第二组柱图,与第一组y柱图绘制的plt.bar()函数中不同的是,y1柱图的绘制参数中多了一个bottom=y,即柱图的底部设置为第一组y值,这样可以将y1堆积在y上。至于水平堆积柱图的python代码与上述类似。
4并列柱图
并列柱图,特别是带误差棒的柱图,是我们最常用的柱状图。
完整代码如下:
(左右滑动可以查看全部代码)
# -*- coding:utf-8 -*- # 申明编码格式为utf-8 import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np mpl.rcParams["font.sans-serif"]=["SimHei"] #指定字体为SimHei,用于显示中文,如果Ariel,中文会乱码 mpl.rcParams["axes.unicode_minus"]=False #用来正常显示负号 x = np.arange(8) #产生1~8的序列 #注意:这里使用numpy库,需要在程序开始时导包“import numpy as np” y = [10,11,22,33,41,58,62,75] std_err=[2,4,5,6,8,9,8,6] #误差棒 y1= [15,23,44,67,88,99,95,85] std_err1=[1,2,1,2,1,2,3,2] #误差棒 #数据 error_attri = dict(elinewidth=1,ecolor="r",capsize=3) #定义误差棒属性的字典数据。这三个参数分别定义误差棒的线宽、颜色、帽子大小 tick_label=["A","B","C","D","E","F","G","H"] #定义柱子的标签 bar_width=0.35 #定义柱宽 plt.bar(x,y,bar_width,color="lightgreen",align="center",label="掺杂前",yerr=std_err,error_kw=error_attri) #绘制纵向柱状图,hatch定义柱图的斜纹填充,省略该参数表示默认不填充。 plt.xticks(x+bar_width/2,tick_label) plt.xlabel("样品编号") plt.ylabel("降解率/%") plt.legend() plt.show()
5堆积误差棒柱图
前面第4点中修改第28~32行如下:
plt.bar(x,y,color="g",align="center",label="掺杂前",yerr=std_err,error_kw=error_attri) #绘制纵向柱状图,hatch定义柱图的斜纹填充,省略该参数表示默认不填充。 plt.bar(x,y1,bottom=y,color="y",align="center",label="掺杂后",yerr=std_err1,error_kw=error_attri) plt.xticks(x,tick_label)
即可绘制出堆积误差柱图,效果如下:
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】