文章目录

  • 导入visdom
  • 设置线性和颜色
  • 画一条折线
  • 画两条折线
  • 同时画多条曲线
  • 显示实时的动态曲线
  • 显示图片
  • 显示文本

导入visdom

import visdom
viz = visdom.Visdom()

执行代码的时候还要通过终端输入python -m visdom.server

设置线性和颜色

import numpy as np
import visdom
viz=visdom.Visdom()win = viz.line(X=np.column_stack((np.arange(0, 10),np.arange(0, 10),np.arange(0, 10),)),Y=np.column_stack((np.linspace(5, 10, 10),np.linspace(5, 10, 10) + 5,np.linspace(5, 10, 10) + 10,)),opts={'dash': np.array(['solid', 'dash', 'dashdot']),'linecolor': np.array([[0, 101, 255],[0, 61, 255],[255, 255, 0],]),'title': 'Different line dash types'}
)

结果:

画一条折线

import visdom
viz = visdom.Visdom()
viz.line(X=[1, 2, 3, 4],  # x坐标Y=[1, 4, 9, 16],  # y值win="line1",  # 窗口idname="test line",  # 线条名称update='append',  # 以添加方式加入opts={'showlegend': True,  # 显示网格'title': "Demo line in Visdom",'xlabel': "x1",  # x轴标签'ylabel': "y1",  # y轴标签},)

结果

画两条折线

import visdom
viz = visdom.Visdom()
viz.line(X=[1, 2, 3, 4],  # x坐标Y=[1, 4, 9, 16],  # y值win="line1",  # 窗口idname="test line",  # 线条名称update='append',  # 以添加方式加入opts={'showlegend': True,  # 显示网格'title': "Demo line in Visdom",'xlabel': "x1",  # x轴标签'ylabel': "y1",  # y轴标签},)
viz.line(X=[1, 2, 3, 4], Y=[0.5, 2, 4.5, 8],name="test line2", win='line1', update='append')

结果

同时画多条曲线

import numpy as np
import visdom
viz=visdom.Visdom()
name = ['y=x^2', 'y=kx+b']
X = np.linspace(-5, 5, 100)  # (100,)
viz.line(Y=np.column_stack((X * X, np.sqrt(X + 5))),  # (100, 2)X=np.column_stack((X, X)),  # (100, 2)opts=dict(markers=False, legend=name),)

结果:

显示实时的动态曲线

import numpy as np
import visdom,time
viz=visdom.Visdom()x, y = 0, 0for i in np.linspace(0, 2 * np.pi, 1000):x = iy = np.sin(x)viz.line(X=np.array([x]), Y=np.array([y]), win='sin-realtime', update='append')time.sleep(0.0001)

from visdom import Visdom
import numpy as np
import torchviz = Visdom(env='test')
#这句话就新建一个连接客户端for i in range(0,10):x = torch.tensor([i])y = xviz.line(X=x, Y=y, win='polynomial', update='append' if i>0 else None)#updateTrace新增一条线
x = torch.arange(0,9,0.1)
y = (x**2) / 9
viz.line(X=x, Y=y, win='polynomial', name='this is a new Trace',update='append')

结果:

显示图片

viz.image的功能可分为如下两类

  • image接收一个二维或三维向量,HxW或3×HxW,前者是黑白图像,后者是彩色图像。
  • images接收一个四维向量NxCxHxW,C可以是1或3,分别代表黑白和彩色图像。可实现类似torchvision中makegrid的功能,将多张图片拼接在一起。images也可以接收一个二维或三维的向量,此时它所实现的功能与image一致。
from visdom import Visdom
import numpy as np
import torch
viz = Visdom(env='test')
# 这句话就新建一个连接客户端
# 可视化一张随机的黑白图片
viz.image(torch.randn(64, 64).numpy())
# 可视化一张随机的彩色图片
viz.image(torch.randn(3, 64, 64).numpy(), win='random2')
# 可视化36张随机的彩色图片,每行6张
# viz.image(torch.randn(36,3,64,64).numpy(), nrow=6, win='random3',opts={'title':'random_imgs'})
viz.images(torch.randn(36, 3, 64, 64).numpy(), nrow=6, win='random3', opts={'title': 'random_imgs'})

结果:

显示文本

from visdom import Visdom
import numpy as np
import torchviz = Visdom(env='test')
# 这句话就新建一个连接客户端
a='this is a test'
viz.text(a, win='label', opts=dict(title='batch-y'))

结果:

Visdom可视化学习笔记(一):通过visdom画曲线和显示图片总结相关推荐

  1. R语言可视化学习笔记之相关矩阵可视化包ggcorrplot

    本文转载自"R语言中文社区",己获授权. 作者简介Introduction taoyan:伪码农,R语言爱好者,爱开源. 个人博客: https://ytlogos.github. ...

  2. R语言可视化学习笔记之ggridges包绘制山峦图

    作者:严涛 浙江大学作物遗传育种在读研究生(生物信息学方向)伪码农,R语言爱好者,爱开源. 严涛老师的绘图教程还有: gganimate |诺奖文章里面的动图绘制教程来了!! ggplot2学习笔记之 ...

  3. python气象数据可视化学习笔记6——利用python地图库cnmaps绘制地图填色图并白化

    文章目录 1. 效果图 2. cnmaps简介及安装 2.1 写在前面 2.2 cnmaps简介和安装 3. 导入库 4. 定义绘图函数 4.1 使用get_adm_maps返回地图边界 4.2 ax ...

  4. ECharts数据可视化学习笔记和应用

    ECharts数据可视化学习笔记和应用 一.概念 二.Echarts使用 使用步骤 三.Echarts-基础配置 四.柱状图图表1 五.柱状图图表2 六.折线图1 七.折线图2 八.饼状图1 九.饼形 ...

  5. vue文件里在style的样式需要什么loader_Vue学习笔记之Webpack中css、less、图片等文件处理...

    一.webpack中使用css文件: loader是webpack中一个非常核心的概念,去转化webpack不能转化或打包的文件. 安装loader: 官网介绍: 安装: cnpm install - ...

  6. C++下opencv学习笔记(一)(图像的简单读取丶显示与存储)

    C++下opencv学习笔记(一)(图像的简单读取丶显示与存储) 前言 学习C++ OpenCV,第一需要具备面向对象语言的基础,第二要对图像处理机器学习有基础了解,容易入门.觉得自己基础已经有了可以 ...

  7. 计算机图形学 学习笔记(十一):曲线曲面(三):B样条 曲线与曲面

    接上文 计算机图形学 学习笔记(十):曲线曲面(二):Bezier 曲线与曲面 8.4 B样条曲线产生背景及定义 B样条产生的背景 Bezier 曲线曲面有很多优点,比如说可以用鼠标拖动控制顶点以改变 ...

  8. R语言可视化学习笔记之ggridges包

    作者:严涛 浙江大学作物遗传育种在读研究生(生物信息学方向)伪码农,R语言爱好者,爱开源. 严涛老师的绘图教程还有: gganimate |诺奖文章里面的动图绘制教程来了!! ggplot2学习笔记之 ...

  9. css中怎么加入立体模型,CSS学习笔记二:css 画立体图形

    继上一次学了如何去运用css画平面图形,这一次学如何去画正方体,从2D向着3D学习,虽然有点满,但总是一个过程,一点一点积累,然后记录起来. Transfrom3D 在这一次中运用到了一下几种属性: ...

最新文章

  1. 解决keepalived脑裂问题
  2. C# 如何实现pfx与snk密钥文件的转换
  3. oracle中blob转换,BLOB转换为CLOB的函数(oracle中执行)
  4. 【转】DICOM文件格式剖析(初识)
  5. 2018 Machine Learning
  6. linux内核丢包分析工具,Linux模拟网络丢包与延迟的方法
  7. 令人失望的vb 的范型
  8. 《Linux系统最佳实践工具:命令行技术》新书抢先看
  9. 【Swift】401状态处理流程
  10. 如何检测ip和端口是否连通
  11. 分析一种简单的提高功率因数的电路——填谷电路
  12. linux系统下的动态壁纸,桌面应用|动态壁纸给linux发行版添加活力背景
  13. 我的气垫船充满了鳗鱼
  14. C++ 语言变量的定义、声明和初始化
  15. 设计模式-责任型模式(责任链模式)
  16. 网易云音乐外链的真实地址下载方法
  17. 【日期】找找哪些日期是星期几
  18. Python turtle 画正多边形和多角形
  19. selenium+phantomjs 爬虫 获取中国移动,电信,联通通话记录
  20. Linux注意之重置mysql账号密码

热门文章

  1. Python的reshape的用法:reshape(1,-1)
  2. 朋友圈分享网址不显示图片问题
  3. 为什么要引入齐次坐标?
  4. java.lang.IllegalStateException解决合集
  5. canvas拖尾效果
  6. 漫步数理统计二十四——伽玛、卡方与贝塔分布
  7. 计算机语言难学程度,为啥计算机语言难学?
  8. 学会Response响应,吃透这篇足够
  9. 依法经营医疗卫生网站承诺书
  10. 【洛谷3865】 【模板】ST表(猫树)