资讯专栏INFORMATION COLUMN

matplotlib绘图(5)

jkyin / 2151人阅读

摘要:本章我们主要学习的技能有添加阴影。我理解的是真实的坐标系统不加的话是完全重合的轴,把这条线放在上面会直线的底部把现在的位置装换变化到

本章我们主要学习的技能有:添加阴影。

1 添加阴影效果 设置字体大小

import matplotlib.pyplot as plt
from matplotlib import patheffects
import numpy as np

fontsize=18

data=np.random.randn(70)
plt.plot(data)

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)

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 np
import matplotlib.pyplot as plt
import matplotlib.transforms as transforms

# 初始化
def setup(layout):
    assert layout is not None
    fig = plt.figure()
    ax = fig.add_subplot(layout)
    return fig, ax

# 得到绘制图标的数据
def  get_signal():
    t = np.arange(0, 2.5, 0.01)
    s = np.sin(5 * np.pi * t)
    return t, s

# 绘制线条(?line后面不加,的话返回的是list类型的数据  加上,返回的是matplotlib.lines.Line2D类型,不太清楚原因,知道的朋友可以的话请告知一下,不胜感激。)
def plot_signal(t, s):
    line ,= axes.plot(t, s, linewidth=5, color="magenta")
    return line,


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 Z轴,把这条线放在上面会直线的底部  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()

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/38516.html

相关文章

  • 数据可视化Seaborn从零开始学习教程(一) 风格选择

    摘要:简介同一样,也是进行数据可视化分析的重要第三方包。的五种绘图风格有五种的风格,它们分别是。 作者:xiaoyu微信公众号:Python数据科学知乎:python数据分析师 最近在做几个项目的数据分析,每次用到seaborn进行可视化绘图的时候总是忘记具体操作。虽然seaborn的官方网站已经详细的介绍了使用方法,但是毕竟是英文,而且查找不是很方便。因此博主想从零开始将seaborn学...

    testbird 评论0 收藏0
  • 详解Python中matplotlib模块的绘图方式

      matplotlib作为常见的可视化绘图工具,在工作当中,应用还是比较的广泛的,那么,我们要怎么使用python这门语言去进行绘图呢?下面就给大家详细解答下。  1、matplotlib之父简介  matplotlib之父John D.Hunter已经去世,他的一生辉煌而短暂,但是他开发的的该开源库还在继续着辉煌。国内介绍的资料太少了,查阅了一番整理如下:  1968出身于美国的田纳西州代尔斯...

    89542767 评论0 收藏0
  • Python--matplotlib绘图可视化知识点整理

    摘要:本文作为学习过程中对一些常用知识点的整理,方便查找。所有绘图操作仅对当前图和当前坐标有效。表示把图标分割成的网格。每个对象都是一个拥有自己坐标系统的绘图区域。避免比例压缩为椭圆数据可视化入门教程绘图核心剖析如何调整子图的大小 本文作为学习过程中对matplotlib一些常用知识点的整理,方便查找。 强烈推荐ipython无论你工作在什么项目上,IPython都是值得推荐的。利用ipyt...

    nifhlheimr 评论0 收藏0
  • matplotlib嵌入到pyqt中

    摘要:坐标轴,标题,标签,图形样式饼图,柱状图,折线图等等等的设置都通过的成员函数来设置完成。写在最后因为自身能力有限,也不是科班出身,都是自学的,目前还是一名学生,所以有未尽之处还请指正,不喜勿喷。 在pyqt5中使用matplotlib 前言 虽然,qt中也提供了绘图函数,但对于初学者并不是很容易掌握,众所周知,matplot提供了简单,易用,强大的绘图函数,结合mumpy基本可以达到m...

    z2xy 评论0 收藏0
  • Matplotlib绘图双纵坐标轴设置及控制设置时间格式

    摘要:双轴坐标轴图今天利用绘图,想要完成一个双坐标格式的图。这是双坐标关键一步横坐标设置时间间隔设置时间标签显示格式纵坐标设置显示百分比知识点在中,整个图像为一个对象。双坐标轴类似的还有这是一个类,创建一个时间格式的实例。 双y轴坐标轴图 今天利用matplotlib绘图,想要完成一个双坐标格式的图。 fig=plt.figure(figsize=(20,15)) ax1=fig.add_s...

    xingpingz 评论0 收藏0

发表评论

0条评论

jkyin

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<