条形图

条形图:

 垂直条形图 

 

复制代码
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import matplotlib.dates as mdates

#解决能显示中文
mpl.rcParams['font.sans-serif']=['SimHei'] #指定默认字体 SimHei为黑体
mpl.rcParams['axes.unicode_minus']=False #用来正常显示负号

plt.title("图标题",fontsize=24)  #图的标题
plt.xlabel("x轴标题")
plt.ylabel("y轴标题")

x=[0,1,2,3,4]
y=[10,20,40,30,50]

name=['张三','李四','李明','李雪倩','李秀艳']
s=plt.bar(x,height=y,color='r',width=0.2,label="一部门",alpha=0.8)  #垂直条形图
#参数1  横坐标位置;参数2 纵坐标高度
#color 设置颜色
#width设置条形图的宽度
#alpha设置透明度
#题注文本

plt.ylim(0, 60)     # y轴取值范围
plt.legend()     # 设置题注
plt.xticks(x, name)  #标注
#参数1 标注位置;参数2 标注文本

for rect in s:#依此返回条形图信息
    height = rect.get_height()  #返回条形图高度
    plt.text(rect.get_x() + rect.get_width() / 2, height+1, str(height), ha="center", va="bottom")
    #给条形图写备注
    #参数1 备注横坐标;参数2 备注纵坐标;参数3备注文本
    s=rect.get_x()  #返回条形图左下角的x坐标
    s=rect.get_width()  #返回条形图宽度

plt.show()  #把图形显示出来
复制代码

效果图

 

 水平条形图:

复制代码
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import matplotlib.dates as mdates

#解决能显示中文
mpl.rcParams['font.sans-serif']=['SimHei'] #指定默认字体 SimHei为黑体
mpl.rcParams['axes.unicode_minus']=False #用来正常显示负号

plt.title("图标题",fontsize=24)  #图的标题
plt.xlabel("x轴标题")
plt.ylabel("y轴标题")

x=[0,1,2,3,4]
y=[10,20,40,30,50]

name=['张三','李四','李明','李雪倩','李秀艳']
s=plt.barh(x, y, height=0.7, color='steelblue', alpha=0.8)  #水平条形图
#height  相当于垂直条形图的宽度
plt.yticks(range(5), name)  #设置标注
plt.xlim(5,50)  #x轴取值范围

plt.show()  #把图形显示出来
复制代码

 

效果图

 

posted @ 2019-03-28 12:29  天子骄龙  阅读(229)  评论(0编辑  收藏  举报