# python怎么画条形图-python绘制条形图方法代码详解

1.首先要绘制一个简单的条形图

import numpy as np

import matplotlib.pyplot as plt

from matplotlib import mlab

from matplotlib import rcParams

fig1 = plt.figure(2)

rects =plt.bar(left = (0.2,1),height = (1,0.5),width = 0.2,align="center",yerr=0.000001)

plt.title('Pe')

plt.show()

1.1上面中rects=plt.bar(left=(0.2,1),height=(1,0.5),width=0.2,align=”center”,yerr=0.000001)这句代码是最重要的，其中left表示直方图的开始的位置（也就是最左边的地方），height是指直方图的高度，当直方图太粗时，可以通过width来定义直方图的宽度，注意多个直方图要用元组，yerr这个参数是防止直方图触顶。

2.增加直方图脚注

import numpy as np

import matplotlib.pyplot as plt

from matplotlib import mlab

from matplotlib import rcParams

fig1 = plt.figure(2)

rects =plt.bar(left = (0.2,1),height = (1,0.5),width = 0.2,align="center",yerr=0.000001)

plt.title('Pe')

plt.xticks((0.2,1),('frst','second'))

plt.show()

3.条形图上显示具体的数字（自动编号）

import numpy as np

import matplotlib.pyplot as plt

from matplotlib import mlab

from matplotlib import rcParams

fig1 = plt.figure(2)

rects =plt.bar(left = (0.2,1),height = (1,0.5),width = 0.2,align="center",yerr=0.000001)

plt.title('Pe')

def autolabel(rects):

for rect in rects:

height = rect.get_height()

plt.text(rect.get_x()+rect.get_width()/2., 1.03*height, '%s' % float(height))

autolabel(rects)

plt.xticks((0.2,1),('frst','second'))

plt.show()

4.改变颜色

import numpy as np

import matplotlib.pyplot as plt

from matplotlib import mlab

from matplotlib import rcParams

fig1 = plt.figure(2)

rects =plt.bar(left = (0.2,1),height = (1,0.5),color=('r','g'),width = 0.2,align="center",yerr=0.000001)

plt.title('Pe')

def autolabel(rects):

for rect in rects:

height = rect.get_height()

plt.text(rect.get_x()+rect.get_width()/2., 1.03*height, '%s' % float(height))

autolabel(rects)

plt.xticks((0.2,1),('frst','second'))

plt.show()

5.添加图注

import numpy as np

import matplotlib.pyplot as plt

from matplotlib import mlab

from matplotlib import rcParams

fig1 = plt.figure(2)

rects1 =plt.bar(left = (0.2),height = (0.5),color=('g'),label=(('no1')),width = 0.2,align="center",yerr=0.000001)

rects2 =plt.bar(left = (1),height = (1),color=('r'),label=(('no2')),width = 0.2,align="center",yerr=0.000001)

plt.legend()

plt.xticks((0.2,1),('frst','second'))

plt.title('Pe')

def autolabel(rects):

for rect in rects:

height = rect.get_height()

plt.text(rect.get_x()+rect.get_width()/2., 1.03*height, '%s' % float(height))

autolabel(rects1)

autolabel(rects2)

plt.show()

6大家根据自己的需要自己来绘制自己的条形图

def autolabel(rects,Num=1.12,rotation1=90,NN=1):

for rect in rects:

height = rect.get_height()

plt.text(rect.get_x()-0.04+rect.get_width()/2., Num*height, '%s' % float(height*NN),rotation=rotation1)

rects1 =plt.bar(left = (0.05),height = (Pe_FH),color=('b'),label=('FHMM'),width = 0.1,align="center",yerr=0.000001);

autolabel(rects1,1.09);

• 0
点赞
• 0
评论
• 1
收藏
• 一键三连
• 扫一扫，分享海报

04-05 4552

09-16
10-28 1852
05-27 2万+
©️2021 CSDN 皮肤主题: 1024 设计师:白松林

1.余额是钱包充值的虚拟货币，按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载，可以购买VIP、C币套餐、付费专栏及课程。