python>>Matplotlib模块
2023-02-18 16:33:59 时间
绘制简单的三角函数
- 正弦函数,余弦函数
- 平移坐标轴
- 绘制标注点
目录
Matplotlib可能是最常用的 2D 图形 Python 包。它提供了一种快速可视化来自 Python 的数据和多种格式的出版物质量图形的方法。我们将以交互模式探索 matplotlib,涵盖最常见的情况。
绘制简单的三角函数
正弦函数,余弦函数
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)时,此时的图形是这种的。纵坐标明显上升很多。
- 但是这种图像仍然不符合平常手绘的图形,我们想要绘制的图型是黑色线条的。
平移坐标轴
- 如何绘制出坐标轴在中间的效果。
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))
- 首先得到这个图形的坐标轴平面,再将坐标轴的右边和上边部分的黑色边界设置为空白色的,最后将左边的和下边的边界线移动到中间的位置
绘制标注点
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
相关文章
- 【好书推荐】《Python黑魔法指南》-附高清PDF版
- C、C++、Java到Python,编程入门学习什么语言好?
- Python 安装
- Python 3.11正式版来了,比3.10快10-60%,官方:这或许是最好的版本
- 基于Python的OpenCV关于色彩空间与通道的操作
- 2023PyCharm激活,码上使用,最新可用,Python快速使用
- 独家 | 使用python马尔科夫链方法建模星巴克等待时长
- 解放双手,python实现自动刷抖音短视频
- 用Python破解压缩包解压密码代码
- Python快速爬取车标网图片,以后不要说这什么车你不认识了!
- 抖音上超好听的神曲音乐,Python教你一次性下载
- 基于Atlas 200 DK的原版YOLOv3(基于Darknet-53)实现(Python版本)
- Python大神编程常用4大工具,你用过几个?
- Python自动化测试Selenium+chrome连接HTTP代理(账密+白名单)
- Python HTTP代理的优缺点?芝麻代理豌豆代理熊猫代理讯代理?
- Biopython | 介绍和安装
- 如何正确遵守 Python 代码规范
- 如何在 python 中解决 ImportError: DLL load failed while importing win32api
- 如何在 python 中解决报错 ImportError: The 'pyparsing' package is required
- 如何使用 python 爬取酷我在线音乐