Matplotlib柱形图类

将Matplotlib中的bar()柱形图绘制重构为一个类,方便使用。
同时将标签集成在一个Label()类中,方便修改。

#label.py
import matplotlib.pyplot as plt
class Label():
    def __init__(self,
                 x_label='x-label',
                 x_loc='center',
                 x_fontsize=12,
                 y_label='y-label',
                 y_loc='center',
                 y_fontsize=12,
                 title='Title'
                 ):
        self.x_label = x_label
        self.y_label = y_label
        self.x_loc = x_loc
        self.y_loc = y_loc
        self.title = title
        self.x_fontsize = x_fontsize
        self.y_fontsize = y_fontsize

    def label(self):
        plt.title(self.title)
        plt.xlabel(self.x_label,fontsize=self.x_fontsize,loc=self.x_loc)
        plt.ylabel(self.y_label,fontsize=self.y_fontsize,loc=self.y_loc)
#column_chart.py
import numpy as np
import matplotlib.pyplot as plt
from label import Label
class ColumnChart():
    def __init__(self,
                 x=0,
                 y=0,
                 label=Label(),
                 color='r',
                 width=0.5,
                 height=0.5,
                 ):
        self.x = x
        self.y = y
        self.label = label
        self.color = color
        self.width = width
        self.height = height

    def bar_show(self):
        plt.bar(self.x,self.y,color=self.color,width=self.width)
        self.label.label()
        plt.show()

    def barh_show(self):
        plt.barh(self.x,self.y,color=self.color,height=self.height)
        self.label.label()
        plt.show()

    def example_bar(self):
        """bar例子展示"""
        x = np.array(['1','2','3','4','5'])
        y = np.array([1,4,9,16,25])
        print('ColumnChart-Example')
        print('需传入ndarray数据')
        print('x = '+str(x))
        print('y = '+str(y))
        print("ColumnChart(x,y,label=Label(),color='r',width=0.5)")
        plt.bar(x,y,color=self.color,width=self.width)
        self.label.label()
        plt.show()

    def example_barh(self):
        """barh例子展示"""
        x = np.array(['1','2','3','4','5'])
        y = np.array([1,4,9,16,25])
        print('ColumnChart-Example')
        print('需传入ndarray数据')
        print('x = '+str(x))
        print('y = '+str(y))
        print("ColumnChart(x,y,label=Label(),color='r',height=0.5)")
        plt.barh(x,y,color=self.color,height=self.height)
        self.label.label()
        plt.show()

# a = ColumnChart()
# a.example_barh()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值