「Python」matplotlib备忘录
总结了一下网上现有的资源,得到了一些东西。随手做个备忘。
更多设置见:https://matplotlib.org/users/customizing.html。
导入
import matplotlib.pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['Noto Sans SC'] # 避免中文在Linux下出现方框
mpl.rcParams['axes.linewidth'] = 1.5 # 设置坐标轴线宽
import seaborn as sns # 比较好看的绘图风格
sns.set() # 设置
在PyCharm中使用
%matplotlib inline
%config InlineBackend.figure_format = 'svg'
# 保存图片
plt.savefig("pict.png", bbox_inches='tight')
plt.show()
绘图
基础绘图
plt.figure(figsize=(8,6), dpi=120)
plt.subplot(1,1,1) # 创建一个1x1的子图,接下来的图片绘制在第1块
X = np.linspace(-np.pi, np.pi, 256,endpoint=True) # 范围是[-pi,pi],个数是250个。如果不加endpoint属性是(-pi,pi)
C,S = np.cos(X), np.sin(X)
# 绘制余弦曲线,使用蓝色的、连续的、宽度为 1 (像素)的线条
plt.plot(X, C, color="blue", linewidth=1.0, linestyle="-")
# 绘制正弦曲线,使用绿色的、连续的、宽度为 1 (像素)的线条
plt.plot(X, S, color="green", linewidth=1.0, linestyle="-")
# 设置横轴的上下限
plt.xlim(-4.0,4.0)
# 设置横轴记号
plt.xticks(np.linspace(-4,4,9,endpoint=True))
# 设置纵轴的上下限
plt.ylim(-1.0,1.0)
# 设置纵轴记号
plt.yticks(np.linspace(-1,1,5,endpoint=True))
# 增加图例,在右上角
plt.legend(loc='upper right')
# 以分辨率 72 来保存图片
# plt.savefig("exercice_2.png",dpi=72)
# 在屏幕上显示
plt.show()
三维绘图
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = Axes3D(fig)
x=np.arange(-2*np.pi,2*np.pi,0.1)
y=np.arange(-2*np.pi,2*np.pi,0.1)
X, Y = np.meshgrid(x, y) #网格的创建,这个是关键
Z=np.sin(X)*np.cos(Y)
plt.xlabel('x')
plt.ylabel('y')
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow')
plt.show()
最终图像:
如非注明,原创内容遵循GFDLv1.3发布;其中的代码遵循GPLv3发布。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 大模型 Token 究竟是啥:图解大模型Token
· 35岁程序员的中年求职记:四次碰壁后的深度反思
· 继承的思维:从思维模式到架构设计的深度解析
· 如何在 .NET 中 使用 ANTLR4
· 后端思维之高并发处理方案
· 感觉程序员要被 AI 淘汰了?学什么才有机会?
· Dify开发必备:分享8个官方文档不曾解释的关键技巧
· 活动中台系统慢 SQL 治理实践
· BotSharp + MCP 三步实现智能体开发
· “你觉得客户需要”是杀死TA的最后一根稻草 | IPD集成产品开发