Python 3.0实现Matplotlib 渐变式柱状图

通过 gradient_image和gradient_bar函数实现柱状图由上至下的渐变,并自动在柱中生成数据标签:

import warnings
import matplotlib.pyplot as plt
from Format import pic_format
import matplotlib as mpl
import numpy as np
from matplotlib.colors import LinearSegmentedColormap

# 解决中文显示问题的代码
mpl.rcParams["font.sans-serif"] = ["Microsoft YaHei"]
mpl.rcParams['axes.unicode_minus'] = False

warnings.filterwarnings('ignore')
# 设置全局字体及大小,设置公式字体
pic_format()

"""
ax:画板
extent:调整宽高比例
direction:颜色渐变方向
cmap_range:颜色渐变的范围
**kwargs:imshow中的参数
"""


def gradient_image(ax, extent, direction=0, cmap_range=(0, 0.5), **kwargs):
    phi = direction * np.pi / 2     # 角度值
    v = np.array([np.cos(phi), np.sin(phi)])  # 求解余弦正弦
    X = np.array([[v @ [0, 0], v @ [0, 0]],
                  [v @ [1, 1], v @ [1, 1]]])  # @号代表的是矩阵运算
    a, b = cmap_range  # 代表着颜色的最小范围和最大范围
    X = a + (b - a) / X.max() * X  # 用颜色范围调整数值
    im = ax.imshow(X, extent=extent, interpolation='bicubic',
                   vmin=0, vma
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值