python第三方库Matplotlib的操作(续)

今天我封装了一个类
一下代码的数据都是随便打的

#导包
import matplotlib.pyplot as plt


#定义一个绘图类
class TestPlot(object):
    def __init__(self,plt):
        self.plt = plt

    #定义内部属性
    #解决中文乱码问题(方法二)
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['font.family'] = 'sans-serif'
    #指定编码
    plt.rcParams['axes.unicode_minus'] = False

    #定义柱状图
    def my_bar(self):

	    my_plt = self.plt

        #定义数据
        GDP = [12404.1,13980.57,9357.79,8990.90]
        #出入数据
        my_plt.bar(['北京','上海','深圳','重庆'],GDP,align='center',color='steelblue',alpha=0.5)
        #添加标签
        my_plt.ylabel('生产总值')
        #添加标题
        my_plt.title('四个直辖市的GDP大比拼')
        #刻度范围
        my_plt.ylim([5000,15000])
        #绘制图形
        my_plt.show()


    #定义饼图
    def my_pie(self):
        my_plt = self.plt
        #定义数据
        beijing = [17,17,23,43]
        #定义标签
        label = ['2-3年','4-5年','6-7年','七年以上']
        color = ['red','green','blue','purple']

        #将数据最大值突出显示
        indic = []
        for item in beijing:
            if item == max(beijing):
                indic.append(0.1)
            else:
                indic.append(0)
        
        #将数据传入
        my_plt.pie(
            #数据
            beijing,
            #标签
            labels=label,
            #颜色
            colors=color,
            #角度
            startangle=90,
            #阴影
            shadow=True,
            #突出显示
            explode=tuple(indic),
            #格式化数字
            autopct='%1.1f%%'
        )

        #设置标题
        my_plt.title('饼图示例-统计北京程序员工龄占比')
        #绘制图形
        my_plt.show()


    #定义面积图方法
    def my_ares(self):
    	my_plt = self.plt
        #定义日期区间
        data = ['2019年03月01日','2019年03月02日','2019年03月03日','2019年03月04日','2019年03月05日']
        #定义数据
        #收入
        earn = [156,324,564,354,789]
        #支出
        pay = [[15,30,27,43,20],[10,15,20,100,30]]
        #将数据传入方法
        self.plt.stackplot(data,earn,pay,colors=['green','blue','orange'])
        #生成图例
        my_plt .plot([],[],color='green',label='收入')
        my_plt .plot([],[],color='blue',label='午餐')
        my_plt .plot([],[],color='orange',label='晚餐')

        #设置标题
        my_plt .title('面积图样例-统计五天收入和支出')
        #显示图例
        my_plt .legend()
        #绘制图形
        my_plt .show()


if __name__ == "__main__":
    #实例化对象
    testplot = TestPlot(plt)
    testplot.my_ares()
    testplot.my_bar()
    testplot.my_pie()

效果如下图所示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以上都是本人自己创作,如果需要更深的了解请点击下面的网址
[http://www.runoob.com/numpy/numpy-matplotlib.html]

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值