python用matplotlib画图(单个,多个子图)(颜色,线型,线粗细)

17 篇文章 1 订阅
订阅专栏

Target:

从文件中读取数据,用python画出对应的图,单个图以及多个子图的情况

1. 单个图多条线

从txt文件中读取数据,一列数据画一条线,一共六列,txt文件数据类型如下:

-0.009817 0.009817 -0.001963 -0.002700 0.005400 -0.002600
-0.007854 0.011781 0.000000 -0.002400 0.004900 -0.002400
...
...
...
-0.007854 0.009817 0.000000 -0.002200 0.004400 -0.002100

画图代码如下:

import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import os
from matplotlib.backends.backend_pdf import PdfPages

model_path = "/home/will/PycharmProjects/Plot_data/record.txt"
actual_wheel_R = []
actual_wheel_F = []
actual_wheel_L = []

desired_wheel_R = []
desired_wheel_F = []
desired_wheel_L = []

for line in open(model_path,"r"):
    num = 0
    print(type(line),line.split(' '))

    actual_wheel_R.append(np.float(line.split(' ')[0]))
    actual_wheel_F.append(np.float(line.split(' ')[1]))
    actual_wheel_L.append(np.float(line.split(' ')[2]))
    desired_wheel_R.append(np.float(line.split(' ')[3]))
    desired_wheel_F.append(np.float(line.split(' ')[4]))
    desired_wheel_L.append(np.float(line.split(' ')[5].split('\n')[0]))
    # vy.append(np.float(line.split(' ')[6]))
    # vz.append(np.float(line.split(' ')[7]))
    # comb_v.append(np.float(line.split(' ')[8].split('\n')[0]))

#print(len(comb_v))
#t = np.arange(0,99,1)
t = np.arange(0,len(actual_wheel_R),1)

#plt.plot(t, s, linewidth=3, label='S')

plt.plot(t, actual_wheel_R, '-o',linewidth=3, label='actual_wheel_R')
plt.plot(t, actual_wheel_F, '-^',linewidth=3, label='actual_wheel_F')
plt.plot(t, actual_wheel_L, linewidth=3, label='actual_wheel_L')

plt.plot(t, desired_wheel_R,'-o', linewidth=3, label='desired_wheel_R')
plt.plot(t, desired_wheel_F, '-^',linewidth=3, label='desired_wheel_F')
plt.plot(t, desired_wheel_L, linewidth=3, label='desired_wheel_L')
#plt.plot(t, comb_v, linewidth=3, label='comb_v')

#plt.tick_params(labelsize=16)

plt.legend(loc=1, fontsize = '20')

plt.ylabel('Velocity(m/10ms)', fontsize = 20) # 横坐标轴的标题
plt.xlabel('time(10ms)', fontsize = 20) # 纵坐标轴的标题
plt.xticks(fontsize=20)
plt.yticks(fontsize=20)


plt.show()

效果如图所示:
impending

2. 多个子图

从txt文件中读取数据,一列数据画一条线,一共12列,前六列画一张子图,后六列画另一张子图,txt文件数据类型如下:

0.000000 0.009817 0.000000 0.000000 -0.000100 0.000000 0.005144 -0.003416 0.001060 0.001702 -0.000093 -0.001574
0.000000 0.009817 0.000000 0.000000 -0.000100 0.000000 0.005144 -0.003318 0.001060 0.001702 -0.000094 -0.001574
...
...
...
0.000000 0.007854 0.000000 0.000000 -0.000100 0.000000 0.005144 -0.003240 0.001060 0.001702 -0.000095 -0.001574

画图代码如下:

import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import os
from matplotlib.backends.backend_pdf import PdfPages

#my_font = matplotlib.font_manager.FontProperties(fname = '/usr/share/fonts/opentype/noto/simsun.ttc')
#model_path = '/home/will/catkin_ws/src/gazebo_mobile_manipulator/data/Record_sim_data_trans_v4_results.txt'
model_path = "/home/will/PycharmProjects/Plot_data/record.txt"
actual_wheel_R = []
actual_wheel_F = []
actual_wheel_L = []

desired_wheel_R = []
desired_wheel_F = []
desired_wheel_L = []

actual_ang_R = []
actual_ang_F = []
actual_ang_L = []

desired_ang_R = []
desired_ang_F = []
desired_ang_L = []

for line in open(model_path,"r"):
    num = 0
    print(type(line),line.split(' '))

    actual_wheel_R.append(np.float(line.split(' ')[0]))
    actual_wheel_F.append(np.float(line.split(' ')[1]))
    actual_wheel_L.append(np.float(line.split(' ')[2]))
    desired_wheel_R.append(np.float(line.split(' ')[3]))
    desired_wheel_F.append(np.float(line.split(' ')[4]))
    desired_wheel_L.append(np.float(line.split(' ')[5]))

    actual_ang_R.append(np.float(line.split(' ')[6]))
    actual_ang_F.append(np.float(line.split(' ')[7]))
    actual_ang_L.append(np.float(line.split(' ')[8]))
    desired_ang_R.append(np.float(line.split(' ')[9]))
    desired_ang_F.append(np.float(line.split(' ')[10]))
    desired_ang_L.append(np.float(line.split(' ')[11].split('\n')[0]))

#print(len(comb_v))
#t = np.arange(0,99,1)
t = np.arange(0,len(actual_wheel_R),1)

#plt.plot(t, s, linewidth=3, label='S')

# subplot(numRows, numCols, plotNum)
ax1 = plt.subplot(2,1,1)

ax2 = plt.subplot(2,1,2)

plt.sca(ax1)
plt.plot(t, actual_wheel_R, '-o',linewidth=3, label='actual_wheel_R')
plt.plot(t, actual_wheel_F, '-^',linewidth=3, label='actual_wheel_F')
plt.plot(t, actual_wheel_L, linewidth=3, label='actual_wheel_L')

plt.plot(t, desired_wheel_R,'-o', linewidth=3, label='desired_wheel_R')
plt.plot(t, desired_wheel_F, '-^',linewidth=3, label='desired_wheel_F')
plt.plot(t, desired_wheel_L, linewidth=3, label='desired_wheel_L')
#plt.plot(t, comb_v, linewidth=3, label='comb_v')

#plt.tick_params(labelsize=16)

plt.legend(loc=1, fontsize = '20')

plt.ylabel('Velocity(m/10ms)', fontsize = 20) # 横坐标轴的标题
plt.xlabel('time(10ms)', fontsize = 20) # 纵坐标轴的标题
plt.xticks(fontsize=20)
plt.yticks(fontsize=20)

plt.sca(ax2)
plt.plot(t, actual_ang_R, '-o',linewidth=3, label='actual_ang_R')
plt.plot(t, actual_ang_F, '-^',linewidth=3, label='actual_ang_F')
plt.plot(t, actual_ang_L, linewidth=3, label='actual_ang_L')

plt.plot(t, desired_ang_R,'-o', linewidth=3, label='desired_ang_R')
plt.plot(t, desired_ang_F, '-^',linewidth=3, label='desired_ang_F')
plt.plot(t, desired_ang_L, linewidth=3, label='desired_ang_L')
#plt.plot(t, comb_v, linewidth=3, label='comb_v')

#plt.tick_params(labelsize=16)

plt.legend(loc=1, fontsize = '20')

plt.ylabel('Angle(Radian)', fontsize = 20) # 横坐标轴的标题
plt.xlabel('time(10ms)', fontsize = 20) # 纵坐标轴的标题
plt.xticks(fontsize=20)
plt.yticks(fontsize=20)

plt.show()

效果如下图所示:
rows2


20211014 update

3. 颜色

只要在plot的命令中加入对应的颜色编号即可,如下

plt.plot(t, err_x, linewidth=3, label='err_x', color='g')

更多的颜色可以参照下表,表从另一篇blog中获得,感谢,具体可以看引用第一篇
colour

4. 线型

在plot指令中加入linestyle以及指定线型即可,如下,--是虚线:

plt.plot(t, nx, label='nx',linestyle='-')
plt.plot(t, nx_d, label='nx_d', linestyle='--')

linestyle

更多的线型可以参照下表,表从另一篇blog中获得,感谢,具体可以看引用第一篇
linestyle

5. 线粗细

在plot指令中加入linewidth以及线的宽度,如下

plt.plot(t, nx, linewidth=3, label='nx')
plt.plot(t, nx_d, linewidth=3, label='nx_d')

linewidth

Reference

  1. python画图(线条颜色、大小、类型:点、虚线等)(图文详细入门教程四):
    https://juejin.cn/post/6844904145032331272
python线粗细_更改matplotlib pyplot图例中的线条宽度
weixin_39730587的博客
12-06 1万+
@ImportanceOfBeingErnest的答案很好,如果您只想更改图例框中的线宽。但我认为这有点复杂,因为在更改图例线宽之前必须复制句柄。此外,它不能更改图例标签字体大小。以下两种方法不仅可以更简洁地改变线宽,还可以改变图例标签文本的字体大小。方法1import numpy as npimport matplotlib.pyplot as plt# make some datax = np...
Python库函数 Matplotlib安装及详解
Light__shadow_的博客
05-04 1万+
Matplotlib 是一个Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。通过Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。 1.PyCharm下安装Matplotlib:在PyCharm最下方找到Terminal,双击打开并输入:pip install Matplotlib,进行Matplotlib库函数的安装。 2.Matplotlib 库函数安装完成,现在使用Matplotlib 库函数来绘制
python plot linestyle 线型线条控制(linestyle、marker)
weixin_43399456的博客
04-12 1160
【代码】python plot linestyle 线型线条控制(linestyle、marker)
python plot linestyle 线型颜色线条控制(linestyle、marker、color)
wzg2016的博客
07-15 3万+
说明: 简单的线型可以定义为:"solid", "dotted", "dashed" or "dashdot". 更多自适应的控制线型可以通过一个tuple数组控制:如(0,(3,10,1,15))表示的线型为: (3pt 的短线 + 10pt 的空格 +1pt 短线+15pt 空格) 一些典型线型的示例: import numpy as np import matplotlib.pyplot as plt linestyle_str = [ ('solid', 'so...
Matplotlib plot绘制多条线,点型(标记)、线型,参数配置及缩写形式
最新发布
bbaaa123的博客
09-10 1894
matplotlib plot绘制多条线,点型(标记)、线型,参数配置及缩写形式详解
python绘制线型
vergil_zsh的博客
03-04 6689
matplotlib线型图详解
matplotlib详细教学
jh035的博客
11-30 1261
matplotlib的三层apimatplotlib的原理或者说基础逻辑是,用Artist对象在画布(canvas)上绘制(Render)图形。准备一个画图准备画笔、颜料作画代表了绘图区,所有的图像都是在绘图区完成的代表了渲染器,可以近似理解为画笔,控制如何在 FigureCanvas 上画图。代表了具体的图表组件,即调用了Renderer的接口在Canvas上作图。因此我们大部分是利用Artist类来进行绘图。Artist的分类primitives和containers。
python中plot的plt.text_matplotlib可视化篇annotate(),text()--注释文本
weixin_39638708的博客
12-08 1924
本节内容: 1. 指向型注释annotate() 2. 无指向型注释text()1. matplotlib.pyplot.annotate()功能:在图中带有指向型文本注释信息,突显细节,官方项目地址,高级玩法,下面列出常用参数信息。s:str, 注释信息内容xy:(float,float), 箭头点所在的坐标位置xytext:(float,float), 注释内容的坐标位置weight: s...
机器学习(1)——Python数据处理与绘图
WHJ226的博客
06-14 4920
目录1 numpy数组使用1.1 numpy生成数组1.2 numpy数组属性1.3 数组的索引和切片1.4 numpy数组运算2 scipy包的使用2.1 scipy包中的模块2.2 常数模块的使用2.3 特殊函数模块的使用2.4 信号处理模块2.5 空间结构模块3 pandas包的使用3.1 pandas数组3.2 查看数据3.3 pandas读取文件4 matplotlib包的使用4.1 正余弦曲线4.2 一张图中的不同曲线 4.3 三维曲线图4.4 其他类型曲线Python具有强大的数据处理能力,
matplotlib 绘图技巧(一)
疯子书生的博客
12-14 1189
目录1、认识matplotlib2.最简单的绘图例子 1、认识matplotlib Matplotlib是一个Python 2D绘图库,能够以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形,用来绘制各种静态,动态,交互式的图表。 Matplotlib可用于Python脚本,Python和IPython Shell、Jupyter notebook,Web应用程序服务器和各种图形用户界面工具包等。 Matplotlib,它已经成为python中公认的数据可视化工具,我们所熟知的pandas和seabo
python plot线形和颜色
沐尔还吃
11-26 1万+
(1)线形: '-' solid line style '--' dashed line style '-.' dash-dot line style ':' dotted line style (2)marker类型: '.' point marker ',' pixel marker 'o' circle...
Python——plot函数
weixin_44253237的博客
08-11 2042
plot()函数的应用提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
Pythonmatplotlib 中的 plot 画图,折线
热门推荐
天天向上的专栏
08-22 7万+
文章目录1. 加载宏包2. plot 函数的语法plot([x], y, [fmt], **kwargs)3. 一张图画好几条线 1. 加载宏包 使用 matplotlib画图时,我们一般加载里面的 pyplot,并命名为 plt,然后使用 plot 函数画图。 # 导入 matplotlib 中的 plot, 并命名为常用名 plt import matplotlib.pyplot as p...
python带标签的坐标系_matplotlib子图背景(轴面+标签)颜色[或图形/轴坐标系]...
weixin_39813574的博客
12-08 1012
我有一个包含3x2子图的图形,我想在中间的一对子图设置一个背景色,使它更清楚哪个轴的标签属于哪个子图。在构造子图设置facecolor只改变由轴定义的区域的颜色;记号和轴标签仍然绘制在figure.patch上。假设没有简单的方法可以做到这一点,我可以在figure.axes中的相关实例后面添加一个矩形面片。经过一段时间的实验,似乎figure.axes[x].get_position()返回...
python 中的matplotlib.pylot 模块中的plot 用法
duan1522630316的专栏
06-02 2万+
>>>import matplotlib >>>from pylab import * >>>help(plot) 运行后见下图所示 Help on function plot in module matplotlib.pyplot: plot(*args, **kwargs)     Plot lines and/or markers to the     :cla
python线颜色不同_python-Matplotlib:用不同的颜色绘制许多断开的线
weixin_39958100的博客
11-23 290
我在Python 3上尝试了很多可用的2D渲染引擎,同时为面向图像的Deep Learning&GAN的输出阶段寻找快速解决方案。使用以下基准测试:在有和没有抗锯齿的情况下,将99行渲染为256x256屏外图像(或更有效的效果)的时间。结果以旧版x301笔记本电脑上的效率为顺序:PyGtk2:〜2500 FPS(Python 2,GTK 2,不确定如何获取AA)PyQt5:〜1200 FPS,使用...
Python 常用线型 + 点符号 + 颜色汇总 ∈ Python 编程笔记
一些笔记
12-08 2万+
对pyhthon常用的线型、符号和颜色的汇总
matplotlib 绘制多个子图,多条曲线
weixin_43852091的博客
02-12 6454
1、生成多个视图(画板): 在matplotlib 中,一个figure即为一个画板,用plt.figure()创建一个新画板,如果只有一个画板的话这句可以省略。 #创建第一个视图(画板) plt.figure(1) #第一个画板的内容 #… #创建第二个视图(画板) plt.figure(2) #第二个画板的内容 #… #切换到第一个画板 plt.figure(1) #继续第一个画板的内容 #…...
matplotlib一文搞定
机器小番茄
03-27 410
matplotlib调整图片空白。
python使用matplotlib画图
03-17
首先,需要安装matplotlib库。在命令行中输入:pip install matplotlib 然后,在代码中导入matplotlib库:import matplotlib.pyplot as plt 接着,使用相应的函数绘制图形。例如,可以使用plt.plot()绘制折线图,使用plt.scatter()绘制散点图,使用plt.bar()绘制柱状图等。 最后,使用plt.show()命令显示图形。 例如: ``` import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] plt.plot(x, y) plt.show() ``` 这是一个简单的折线图。
写文章

热门文章

  • LaTex 自动生成IEEE格式的参考文献 45100
  • LaTeX中单行和多行注释的几种方法 43675
  • pytorch中tf.nn.functional.softmax(x,dim = -1)对参数dim的理解 33051
  • python 根据一个list的元素删除另一个list中对应的元素 25315
  • Ubuntu启动速度很慢的可能原因及对应解决方法 25034

分类专栏

  • Windows Developing 1篇
  • C++ 9篇
  • Communication 5篇
  • Ubuntu 13篇
  • ABB
  • PCL Learning 3篇
  • MCU 2篇
  • Robotics 3篇
  • Nvidia Board 1篇
  • Pytorch 3篇
  • Opencv 1篇
  • Common 1篇
  • ISSUES 19篇
  • ROS learning 42篇
  • Other 13篇
  • Matlab 2篇
  • Reinforcement learning 2篇
  • Machine Learning 2篇
  • Deep Learning 7篇
  • Python 17篇
  • deeplearning.ai homework 13篇
  • Tensorflow 1篇
  • Keras 8篇

最新评论

  • 机器人运动学---雅克比矩阵伪逆

    mai0026: 可能是你输入的空间速度有误,也可能是经过了奇异行位

  • 机器人运动学---雅克比矩阵伪逆

    桂影道深秋: 大佬,请问雅可比是用来求关节与末端速度、关节与末端力之间的关系,那怎样才能用雅可比伪逆处理关节角位置从而规避运动奇异性问题呢?

  • 机器人运动学---雅克比矩阵伪逆

    桂影道深秋: 大佬,我想请问一下您这里所说的逆解求解是数值法逆运动学求解吗,如果用解析法如何运用雅可比矩阵处理运动奇异问题呢?

  • OpenFace安装问题---Could not find CEN patch experts

    黑山老尧: 把4个.dat文件存放到:/home/username/OpenFace/lib/local/LandmarkDetector/model/patch_experts即可,-----------地址给错了,看看报错,就知道应该放哪了

  • STM32锁芯片,解锁方法(J-LINK)

    jinniuxing88: 好方法

大家在看

  • Python | Leetcode Python题解之第495题提莫攻击
  • C++ | Leetcode C++题解之第495题提莫攻击
  • C语言 | Leetcode C语言题解之第495题提莫攻击
  • C++ | Leetcode C++题解之第494题目标和
  • Java | Leetcode Java题解之第495题提莫攻击

最新文章

  • Python3使用cv_bridge转换ROS的image信息
  • 修复kazam意外中断的视频文件
  • Win10中用VS编译SDK(orbbec_SDK为例)
2024年7篇
2023年6篇
2022年25篇
2021年37篇
2020年26篇
2019年20篇
2018年39篇

目录

目录

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家安庆个性化玻璃钢雕塑太原商场美陈费用佛山玻璃钢罗马柱雕塑兰州玻璃钢植物雕塑定做大连火烈鸟玻璃钢雕塑生产厂家玻璃钢花盆适合放室外吗周口标牌标识校园玻璃钢雕塑大型玻璃钢雕塑制作全过程贵州动物玻璃钢雕塑订做价格湖南酒店玻璃钢雕塑价格现代玻璃钢人物雕塑哪家便宜鹤壁公园玻璃钢彩绘雕塑厂家嘉业玻璃钢雕塑济源玻璃钢浮雕不锈钢雕塑公司安徽口碑好玻璃钢雕塑公园卡通玻璃钢雕塑厂家荆门户外玻璃钢雕塑厂家深圳儿童玻璃钢雕塑定制菏泽校园玻璃钢雕塑定制南京玻璃钢雕塑厂家供应东方玻璃钢雕塑厂家深圳开业商场美陈供应商龙柱玻璃钢雕塑教程高架桥玻璃钢花盆哪里有卖玻璃钢仿铜雕塑专业平台邯郸镂空玻璃钢人物雕塑公司河北特色商场美陈采购商场白墙美陈玻璃钢雕塑价格如何计算南京园林景观玻璃钢雕塑报价多少香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化