前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python>>Matplotlib模块

python>>Matplotlib模块

作者头像
用户10271432
发布2022-12-19 14:37:15
3820
发布2022-12-19 14:37:15
举报
文章被收录于专栏:机器学习-大数据

绘制简单的三角函数

  • 正弦函数,余弦函数
  • 平移坐标轴
  • 绘制标注点

目录

绘制简单的三角函数

正弦函数,余弦函数

平移坐标轴

绘制标注点


Matplotlib可能是最常用的 2D 图形 Python 包。它提供了一种快速可视化来自 Python 的数据和多种格式的出版物质量图形的方法。我们将以交互模式探索 matplotlib,涵盖最常见的情况。

绘制简单的三角函数

正弦函数,余弦函数

代码语言:javascript
复制
import numpy as np
from matplotlib import pyplot as plt
X = np.linspace(-np.pi,np.pi,256)
C,S =np.cos(X),np.sin(X)
plt.plot(X,C)
plt.plot(X,S)
plt.show()
  • 注意,matplotlib模块在这里会默认绘制纵坐标的长度,长度跟所需要绘制的函数有关。因此代码中并没有出现纵坐标的描述,依然能够绘制出三角函数。比如当绘制tan(x)时,此时的图形是这种的。纵坐标明显上升很多。
  •  但是这种图像仍然不符合平常手绘的图形,我们想要绘制的图型是黑色线条的。

平移坐标轴

  • 如何绘制出坐标轴在中间的效果。
代码语言:javascript
复制
import numpy as np
from matplotlib import pyplot as plt
X = np.linspace(-np.pi,np.pi,256)
C,S=np.cos(X),np.sin(X)
plt.figure(figsize=(10,6),dpi = 80)
plt.plot(X,C,color='blue',linewidth = 2.5,linestyle= '-')
plt.plot(X,S,color='green',linewidth = 2.5,linestyle='-')
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
# ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
# ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
  • 首先得到这个图形的坐标轴平面,再将坐标轴的右边和上边部分的黑色边界设置为空白色的,最后将左边的和下边的边界线移动到中间的位置

绘制标注点

代码语言:javascript
复制
import numpy as np
from matplotlib import pyplot as plt
X = np.linspace(-np.pi,np.pi,256)
C,S=np.cos(X),np.sin(X)
plt.figure(figsize=(10,6),dpi = 80)
plt.plot(X,C,color='blue',linewidth = 2.5,linestyle= '-')
plt.plot(X,S,color='green',linewidth = 2.5,linestyle='-')
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
# ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
# ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))

t = 2 * np.pi / 3
plt.plot([t, t], [0, np.cos(t)], color='blue', linewidth=2.5, linestyle="--")
plt.scatter([t, ], [np.cos(t), ], 50, color='blue')

plt.annotate(r'$cos(\frac{2\pi}{3})=-\frac{1}{2}$',
             xy=(t, np.cos(t)), xycoords='data',
             xytext=(-90, -50), textcoords='offset points', fontsize=16,
             arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2"))

plt.plot([t, t],[0, np.sin(t)], color='red', linewidth=2.5, linestyle="--")
plt.scatter([t, ],[np.sin(t), ], 50, color='red')

plt.annotate(r'$sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$',
             xy=(t, np.sin(t)), xycoords='data',
             xytext=(+10, +30), textcoords='offset points', fontsize=16,
             arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2"))

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=1kbizo7h4z17g

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-12-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 绘制简单的三角函数
    • 正弦函数,余弦函数
      • 平移坐标轴
        • 绘制标注点
        相关产品与服务
        云开发 CloudBase
        云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档