python-docx表格设置阴影_python学习笔记:图表便签的透明度设置和图表阴影设置...

1.设置坐标轴标签的透明度和大小

#导入绘图所需要的包import matplotlib.pyplot as plt#matplotlib.patheffects支持matplotlib.text.Text和matplotlib.patches.Patch#patch指一个用颜色填充的图形对象from matplotlib import patheffectsimport numpy as np#字体大小fontsize = 18#当函数括号内有一个参数时,则返回秩为1的数组,不能表示向量和矩阵data = np.random.randn(70)plt.plot(data)#标题,X轴,Y轴名称title = 'This is figture title'x_label = 'This is x axis label'y_label = 'This is y axis label'# 设置title的字体大小,竖直方向的对齐方式title_text_obj = plt.title(title, fontsize=fontsize, verticalalignment='bottom')# 设置路径效果 ,添加阴影title_text_obj.set_path_effects([patheffects.withSimplePatchShadow()])# 相对于对象的偏移offset_xy = (1, -1)#红色rgbRed = (1.0, 0.0, 0.0)#透明度alpha = 0.4# 第一个参数为偏移量,第二个参数为阴影的的颜色 ,第三个参数为透明度pe = patheffects.withSimplePatchShadow(offset=offset_xy, shadow_rgbFace=rgbRed, alpha=alpha)#针对X轴,Y轴标签调用pe设置xlabel_obj = plt.xlabel(x_label, fontsize=fontsize, alpha=0.5)xlabel_obj.set_path_effects([pe])ylabel_obj = plt.ylabel(y_label, fontsize=fontsize, alpha=0.5)ylabel_obj.set_path_effects([pe])plt.show()

图一

2.为图表线条添加阴影

import numpy as npimport matplotlib.pyplot as plt#matplotlib.transforms 是用于添加转换import matplotlib.transforms as transforms# 初始化,定义setup,创建图纸和坐标轴信息#assertIsNone:不存在,则pass#assertIsNotNone:存在,则passdef setup(layout):assert layout is not None fig = plt.figure() ax = fig.add_subplot(layout)return fig, ax# 得到绘制图标的数据,t中的第一个参数为起点,第二个参数为终点,第三个参数为步长def get_signal(): t = np.arange(0, 2.5, 0.01) s = np.sin(5 * np.pi * t)return t, s# 绘制线条,这里的(t, s)相当于(x,y)的关系def plot_signal(t, s): line, = axes.plot(t, s, linewidth=5, color='darkblue') return line,#绘制出阴影,transforms.ScaledTranslation用来添加偏移转换def make_shadow(fig, axes, line, t, s): delta = 2 / 72 offset = transforms.ScaledTranslation(delta, -delta, fig.dpi_scale_trans) # 我理解的axes.transData是真实的坐标系统 ,不加offset的话是完全重合的 offset_transform = axes.transData + offset # zoeder,把这条线放在上面会直线的底部,transform 把现在的位置转换变化到offset_transform axes.plot(t, s, linewidth=5, color='gray', transform=offset_transform, zorder=0.5 * line.get_zorder())pass#调用上述定义中所提到的内容来绘图if __name__ == "__main__": fig, axes = setup(111) t, s = get_signal() line, = plot_signal(t, s) make_shadow(fig, axes, line, t, s) plt.show()

图二

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值