Matplotlib入坑指南:让你的数据会说话的Python绘图神器!

Python科学绘图神器:SciencePlots库详解 SciencePlots是一个基于Matplotlib的Python扩展库,专门设计用于创建符合学术出版标准的科学图表。 阅读详情


朋友们!今天咱们敞开聊聊Python里那个**老当益壮**的可视化库——Matplotlib。别被它1992年诞生的历史吓到(比很多读者年纪都大了吧?),这玩意儿至今仍是**科研狗、数据分析师、算法工程师的标配绘图工具**!(不服来辩~)

## 一、为什么我摔了键盘还要推荐Matplotlib?

先坦白:初学Matplotlib时,我被它的`plt.figure()`、`ax.plot()`、`plt.subplots()`绕晕过无数次!(暴躁拍桌)但当我终于搞懂它的**双灵魂设计**后——直呼真香!

1. **快速脚本模式**:几行代码出图,适合探索性分析
   ```python
   import matplotlib.pyplot as plt
   plt.plot([1,2,3], [4,5,1])  # 三秒出折线图!
   plt.title('真·入门示例')
   plt.show()
  1. 面向对象模式:精细控制每个元素,适合论文/报告
    fig, ax = plt.subplots()  # 创建画布和坐标系
    ax.scatter(x, y, color='red', marker='*')  # 在坐标系画散点
    ax.set_xlabel('重要参数X')  # 精准控制坐标轴
    

灵魂比喻时刻:Matplotlib就像煎饼果子摊——plt.plot()是直接买成品套餐,而fig, ax = plt.subplots()相当于说"老板,煎饼不要葱,加两个蛋,酱多刷点!"

二、新手必踩的深坑(附填坑指南)

坑1:中文显示变方块 ▢▢▢

解决方案(简单暴力版):

plt.rcParams['font.sans-serif'] = ['SimHei']  # Windows用黑体
plt.rcParams['axes.unicode_minus'] = False    # 解决负号显示问题

(专业选手请用font_manager加载自定义字体)

坑2:图片糊成马赛克

拯救画质三连:

fig = plt.figure(dpi=300)                    # 魔法指令1:调DPI
fig.savefig('high_res.png', bbox_inches='tight') # 魔法指令2:保存时裁剪白边
plt.tight_layout()                         # 魔法指令3:自动调整元素间距

坑3:复杂布局搞不定

终极武器 subplot_mosaic 上场:

layout = [['line', 'scatter'],
          ['hist', 'hist']]  # 定义2x2区域布局
fig, axs = plt.subplot_mosaic(layout, figsize=(10,8))
axs['line'].plot(x, y)        # 在指定区域绘图
axs['scatter'].scatter(x, y)


(图片来自Matplotlib官网:用代码定义排版超直观!)

三、进阶玩家的秘密武器

1️⃣ 样式秒变高端的rcParams

plt.style.use('ggplot')  # 一键切换ggplot风格
# 深度定制化(修改默认参数)
plt.rc('lines', linewidth=2, linestyle='-.') 
plt.rc('axes', facecolor='#f0f0f0') 

2️⃣ 三维可视化只需加一行

from mpl_toolkits import mplot3d
ax = plt.axes(projection='3d')  # 魔法关键词 projection='3d'
ax.plot_surface(X, Y, Z, cmap='viridis') 


(官网示例:复杂曲面轻松拿捏)

3️⃣ 动态图表竟然能这么简单

from matplotlib.animation import FuncAnimation

def update(frame):
    line.set_ydata(np.sin(x + frame/10))  # 动态更新数据
    return line,

ani = FuncAnimation(fig, update, frames=100, interval=50)

(保存GIF?ani.save('wave.gif', writer='pillow') 一行搞定!)

四、高阶骚操作:突破你的想象力

案例1:用事件监听做交互

def on_click(event):
    if event.inaxes == ax:
        print(f'点击坐标: ({event.xdata:.2f}, {event.ydata:.2f})')

fig.canvas.mpl_connect('button_press_event', on_click)  # 绑定点击事件

案例2:自定义箭头样式

plt.annotate('关键转折点!', xy=(2,1), xytext=(3,1.5),
            arrowprops=dict(arrowstyle='->,head_width=0.5',
                            connectionstyle='arc3,rad=0.2',
                            color='red'))

(箭头曲线用贝塞尔控制?connectionstyle参数玩起来!)

案例3:混合矢量与位图

from matplotlib.offsetbox import OffsetImage, AnnotationBbox

img = plt.imread('logo.png')
imagebox = OffsetImage(img, zoom=0.3)
ab = AnnotationBbox(imagebox, (0.5, 0.7), frameon=False)
ax.add_artist(ab)  # 在坐标轴任意位置插入图片

五、避坑指南:来自老司机的血泪忠告

  1. 不要死记硬背参数!(敲黑板)
    忘记color参数?试试按Tab键看提示!ax.plot? 查文档!
    (IPython里输入plt.colors.cnames还能看所有颜色名)

  2. 对象层级要门儿清:

    Figure (画布) → Axes (坐标系) → Axis (坐标轴) → Tick (刻度线)
    

    改刻度文字?ax.xaxis.set_ticklabels()才是王道!

  3. 导出矢量图的正确姿势:

    # 论文首选(LaTeX友好)
    fig.savefig('figure.pdf', format='pdf') 
    # 演示文稿用
    fig.savefig('slide.svg', format='svg', transparent=True)
    
  4. 配色禁忌:

    • 避免同时使用red和green(色盲不友好)
    • 慎用jet色彩映射(已被科研圈抵制!)
    • 推荐viridis/plasma等感知均匀的配色

结语:为什么Matplotlib永不过时?

尽管有Seaborn、Plotly等后起之秀,但Matplotlib的底层控制力无可替代!当你需要:

  • 画一个特定角度的箭头标注
  • 在极坐标系叠加柱状图和折线图
  • 定制显微镜图像的刻度样式

这时候你就会打开Matplotlib文档大喊:“真香!!!” 记住:可视化不是炫技,是清晰传递信息。下次遇到复杂图表需求时,不妨默念咒语:“import matplotlib.pyplot as plt” (笑)

彩蛋:官网gallery有300+示例代码(https://matplotlib.org/stable/gallery/index.html),直接复制修改——效率飙升的终极奥义!(别问我是怎么知道的)


注:本文严格遵守技术分享原则,所有代码示例均为Matplotlib官方用法,无任何侵权风险。文中使用的截图均标注来源自Matplotlib官网示例,符合开源协议要求。

b.org/stable/gallery/index.html),直接复制修改——效率飙升的终极奥义!(别问我是怎么知道的)

注:本文严格遵守技术分享原则,所有代码示例均为Matplotlib官方用法,无任何侵权风险。文中使用的截图均标注来源自Matplotlib官网示例,符合开源协议要求。

【Ryo】Python:绘图之Matplotlib 利用Python进行图形描绘是美化图形,进行数分可视化展示的重要途径。 研究内容 软件 日期 图形绘制 Python3 2021年2月1日 △△△△△本文为个人项目练习,仅供参考,如有不足欢迎讨论 △△△△△ 一、Python图形绘制の包 ... 阅读详情

相关推荐

多Y轴绘图实战:从原理到Matplotlib避坑指南

在数据可视化中,当需要对比分析多个量纲或数值范围不同的数据序列时,单一Y轴图表往往难以清晰呈现。其核心原理在于通过创建独立的坐标轴或数据变换,使不同序列能在同一视图中保持各自的度量标准。这项技术对于揭示变量间的关联性、同步趋势具有重要价值,广泛应用于金融分析、工程监控、环境监测等场景。通过Matplotlib等工具实现时,需特别注意坐标轴对齐、颜色编码与图例合并等工程细节,以避免视觉误导。本文深入解析了双Y轴、图层归一化等方案,并提供了完整的代码示例与常见问题排查技巧,帮助读者掌握这一关键的数据呈现技能。

weixin_30706691的博客 467

Plotly,一个超强的Python可视化库!

大家好,我是小F~数据可视化是数据分析和探索的一个重要方面,它有助于深入了解数据集中的潜在模式、趋势和关系。Plotly则是一个功能强大且多功能的Python库,提供了广泛的工具来创建交互式且具有视觉吸引力的绘图。它支持多种图表类型,包括散点图、折线图、条形图等。Plotly的独特之处在于它能够生成交互式图表,允许用户动态缩放、平移数据并与数据交互。使用pip命令进行安装。pipinstall...

法纳斯特 1511

【Python可视化神器】Matplotlib完全教程:12种图表+10个高级技巧 | 数据可视化必学

Matplotlib 是一个全面的 Python 绘图库,用于创建静态、交互式和动画可视化图表。它提供了类似 MATLAB 的接口,并支持各种图形和图表类型。灵活性:从简单的线图到复杂的多面板图表都能轻松创建高度可定制:几乎所有图表元素都可以精确控制多种输出格式:支持 PNG、PDF、SVG、EPS 等多种图片格式良好的生态系统集成:与 NumPy、Pandas、Seaborn 等库紧密集成# 创建数据# 不同的颜色、线型和标记组合。

熵数实验室 3262

matplotlib,一个绘图高手必备的Python库!

本文介绍了Python数据可视化核心库Matplotlib的应用指南。主要内容包括:1. Matplotlib简介:作为Python最基础的2D绘图库,广泛应用于金融分析、学术研究、商业智能等领域;2. 安装配置:提供安装命令及环境验证方法;3. 基础用法:从简单图表绘制到多子图布局,涵盖折线图、散点图等常见类型;4. 高级功能:包括3D图形绘制、动画制作和交互式图表开发;5. 实际应用:展示了股票分析系统和科学实验可视化系统的完整实现方案。文章通过代码示例详细演示了Matplotlib的各类功能,帮助读者

2501_93359500的博客 1106

零配置启程:Matplotlib 在线绘图神器,Python 学习者的福音!

本文介绍了一款零配置的在线Matplotlib绘图工具,专为Python学习者设计,无需安装和环境配置即可快速绘制各种图表。支持基础到高级功能,如折线图、3D绘图等,并可与numpy、pandas无缝衔接,大幅提升学习和工作效率。

weixin_29062671的博客 386

论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!

大家好,今天要分享给大家25个Matplotlib图的汇总,在数据分析和可视化中非常有用,文章较长,可以马起来慢慢练手。 # !pip install brewer2mpl import numpy as np import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt import seabor...

Python学习Q群696455390 1963

Python绘制各种优美简单曲线

matplotlib是著名的Python绘图库,它提供了一整套绘图API,十分适合交互式绘图。,解决数据分析和可视化问题,其实也是Python的拿手好戏。另外,在数据处理过程中会用到numpy。 例如,画出指定区间的一个多项式函数: ''' 想要学习Python?Python学习交流群:984632579满足你的需求,资料都已经上传群文件,可以自行下载! ''' import numpy a...

人生苦短, 还不用Python? 8636

Python绘图神器Matplotlib安装指南

Matplotlib是一个功能强大的Python绘图库,它提供了丰富的绘图选项和功能,能够满足各种数据可视化的需求。Matplotlib是一个强大的Python绘图库,它提供了丰富的绘图选项和功能,可以用于创建高质量的数据可视化图表。安装完成后,您就可以在Python代码中引入Matplotlib并开始使用它了。如果您想进一步了解Matplotlib的使用方法和功能,请参阅Matplotlib的官方文档和示例代码。在使用Matplotlib之前,您需要在Python代码中导入Matplotlib库。

DarcyCode的博客 951

Python Matplotlib库绘制曲线图 最快入门教程(最详细最简单)

【代码】Python Matplotlib库绘制曲线图 最快入门教程(最详细最简单)

hanmo22357的博客 2万+

Java 简易版 UDP 多人聊天室

【代码】Java 简易版 UDP 多人聊天室。

nmy15570188135的博客 1187

Agv、Rgv 车辆控制调度系统开发第一篇

Agv、Rgv 车辆控制调度系统第一篇为什么要做这个系统先看作品从头讲起算法讲解编程语言从哪里开始继续深入预告 为什么要做这个系统 说白了是为了赚钱,在一个项目中发现公司买别人家的调度系统要几十万,还只是一个项目的实施,从那天起我就决定自己写一套,用了一年的时间写出来后,才发现根本卖不掉,卖不掉就卖不掉吧,反正我现在已经吧写这套系统当成了一种乐趣,如果不让我写了我反而不适应,但是没有人欣赏我的成果我反而很难受,所以决定吧这个系统的创作过程,写下来,给后面的人一些建议,少走点弯路。 先看作品 从头讲起 在

持续分享调度系统开发过程 2万+

Matplotlib:Python 中的绘图神器

自定义图形的样式和布局:python深色版本1# 生成数据45# 创建图形89# 添加标题和标签1314# 添加图例1617# 设置坐标轴范围2021# 设置网格2324# 设置背景颜色2627# 显示图形。

2403_86762465的博客 747

频偏估计技术:从原理到5G应用的实战解析

本文深入解析了5G通信中的频偏问题及其核心技术。频偏如同调不准的旋钮,会导致信号失真与载波间干扰。文章详细拆解了整数倍与小数倍频偏估计两大核心方法,重点剖析了基于循环前缀和基于同步信号块的算法原理与优劣,并结合eMBB、mMTC、URLLC三大5G应用场景,提供了实战算法选择策略与参数调优避坑指南。

weixin_29218963的博客 262

python matplotlib.pyplot饼图重叠_专题 | Python绘图神器之matplotlib

腾讯课堂 | Python网络爬虫与文本分析我的施工之路1我的施工计划2数字专题3字符串专题4列表专题5流程控制专题6编程风格专题7函数使用8面向对象编程(上篇)9面向对象编程(下篇)10十大数据结构11包和模块使用总结12Python正则专题总结13设计模式14Python时间模块总结15Python 装饰器16Python 迭代器17Python 生成器18Python 绘图...

weixin_39627455的博客 994

Linux与Windows双系统,安装完linux后无法通过grub进入Windows的解决方法

先装Windows 10,Windows可正常启动,再装Kali,Kali提示装grub后照装。然而装完后重启发现无Windows选项。

sakurashockwave的博客 6454

RK3588 Android12 添加HDMI和喇叭声音通道切换选项

rk3588 android12系统默认接hdmi out时,声音会切换到hdmi out输出,主板声卡喇叭输出会没有声音输出。现在添加一个选项设置hdmi out时,声音可以保持主板声卡喇叭输出。

Android系统开发笔记 4163

机器学习——绘图神器Matplotlib

Matplotlib 是 Python 中最流行的数据可视化库之一,广泛用于创建静态、动态和交互式的图表。它提供了丰富的绘图功能,支持多种图表类型,如折线图、柱状图、散点图、饼图等使用 pip 安装 Matplotlib(在anaconda虚拟环境中,可以使用conda install matpoltlib命令) 3. 基本使用方法 导入 Matplotlib: 绘制简单折线图: 4. 常用图表类型柱状图: 散点图: 饼图: 自定义样式:

m0_60548895的博客 675

当C#遇见声音魔法:从麦克风到文字的0.1秒奇幻漂流

为什么选300Hz?因为人声基频通常在85-255Hz,但清脆的“啊”可能到2kHz,所以300Hz是安全区!(参考知识库[1])

墨夶的博客 365

【深度学习-Day 8】让数据说话:Python 可视化双雄 Matplotlib 与 Seaborn 教程

在深度学习的征途中,我们不仅需要与冰冷的数字和复杂的算法打交道,更需要一种直观的方式来理解数据、洞察模型行为并有效地展示研究成果。“一图胜千言”,数据可视化正是连接数据与洞察的桥梁。它能够帮助我们发现隐藏在数据背后的模式、趋势和异常点,从而更好地指导我们的数据分析和模型调优工作。在 Python 的生态系统中,Matplotlib 和 Seaborn 是两个功能强大且广受欢迎的数据可视化库。Matplotlib 提供了灵活的底层绘图接口,几乎可以绘制任何类型的静态、动态、交互式图表。

吴师兄大模型的博客 1717

Coze实战:解锁多Bot协同与条件分支工作流的奥秘

本文详细介绍了在字节跳动Coze平台实现多Bot协同与条件分支工作流的方法。首先阐述了Coze平台的功能优势,包括丰富的插件、知识库和工作流功能。随后分步骤讲解了多Bot协同的实现:从准备工作、创建Bot到协同配置,并提供了电商客服的实例演示。在条件分支工作流部分,详细说明了条件节点的作用类型、条件设定方法以及具体配置操作,强调测试优化的重要性。最后通过电商平台综合案例,展示了多Bot协同与条件分支的实际应用效果,并针对常见问题提供解决方案。文章为开发者在Coze平台上构建智能应用提供了实用指导,有助于提升

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 450

CloudCompare 二次开发(36)——非均匀体素降采样

使用CloudCompare与PCL编程实现的非均匀体素降采样。

点云侠的博客 746

python手动绘图_专题第19篇:Python绘图神器之matplotlib

我的施工之路1我的施工计划2数字专题3字符串专题4列表专题5流程控制专题6编程风格专题7函数使用8面向对象编程(上篇)9面向对象编程(下篇)10十大数据结构11包和模块使用总结12Python正则专题总结13设计模式14Python时间模块总结15Python 装饰器16Python 迭代器17Python 生成器18Python 绘图入门今天,继续施工专题第19篇:Python...

weixin_33982195的博客 237

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

绘图神器-matplotlib入门

这次,让我们使用一个非常有名且十分有趣的玩意儿来完成今天的任务,它就是jupyter。 一、安装jupyter matplotlib入门之前,先安装好jupyter。这里只提供最为方便快捷的安装方式:pip install jupyter。 启动jupyter也十分简单:jupyter notebook 执行命令后,自动启动服务,并自动打开浏览器,jupyter就长这样 找到你想要的目录,右上角...

xu547823501的博客 2524

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

专题第19篇:Python绘图神器之matplotlib

我的施工之路1我的施工计划2数字专题3字符串专题4列表专题5流程控制专题6编程风格专题7函数使用8面向对象编程(上篇)9面向对象编程(下篇)10十大数据结构11包和模块使用总结12Pyt...

算法channel 770

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Matplotlib:数据可视化的魔法棒,让你的数据跳起舞来!

总结一下:Matplotlib不是什么高深魔法,而是每个数据爱好者的瑞士军刀!!!(学它绝对值得)从简单折线图到复杂子图,一步步来——没人天生就会!我的建议?今天就动手试试。复制上面的代码,改改数据,看看效果。遇到问题?Stack Overflow搜一搜(社区超友好!最后,真心话:在数据泛滥的时代,可视化能力就是超能力。它能帮你发现隐藏趋势、说服团队、甚至改变决策!(比如我用气温图说服老板买空调,夏天再也不蒸桑拿了)所以——别再犹豫了,打开Python,让Matplotlib给你的数据注入灵魂吧!!!

agilearchitect的博客 953
上一篇: Matplotlib入坑指南:让你的数据会说话的Python绘图神器!
下一篇: Grafana:你的数据会说话!开箱即用的观测宇宙魔方 [特殊字符]
普通网友
博客等级 码龄1年 28粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值