当前位置: 首页 > news >正文

官方网站下载cad网站建设论文答辩题目

官方网站下载cad,网站建设论文答辩题目,网站的标题优化怎么做,注册公司流程和费用文章目录 1 前言2 知识点2.1 matplotlib.pyplot.barh2.2 matplotlib.legend的handles参数 3 代码实现4 绘制效果5 总结参考 1 前言 这篇文章的目的是#xff0c;总结记录一次使用matplotlib绘制时序甘特图的经历。之所以要绘制这个时序甘特图#xff0c;是因为22年数模研赛C… 文章目录 1 前言2 知识点2.1 matplotlib.pyplot.barh2.2 matplotlib.legend的handles参数 3 代码实现4 绘制效果5 总结参考 1 前言 这篇文章的目的是总结记录一次使用matplotlib绘制时序甘特图的经历。之所以要绘制这个时序甘特图是因为22年数模研赛C题需要用到用于更好地呈现求解的车身缓冲区调序优化结果。 首先我们觉得在这篇博客中出现的下面这张图展示效果很好于是也想绘制一张。 这张图中横坐标是递增变化的时间纵坐标是PBS中的区域编号其中不同的颜色代表不同的车身如果某个时间段车身达到了某个区域那么图中所对应的矩形区块将填充为该车身对应的颜色。 在知道上述信息后我们开始在网上查找甘特图的绘制方法因为我个人习惯用python的matplotlib库绘制图表于是根据关键词搜索到了如下的文章 Python实现生产过程可视化甘特图。看着比较像我们想要的那种效果于是琢磨了一下代码怎么写的。 2 知识点 拜读完代码后我总结了使用matplotlib绘制甘特图的一些知识点。 2.1 matplotlib.pyplot.barh 该函数的作用是绘制横向的柱状图。 官方文档函数定义如下 matplotlib.pyplot.barh(y, width, height0.8, leftNone, *, aligncenter, dataNone, **kwargs) 使用到的参数详解 参数名称解释y可传入float类型决定柱状图的y轴坐标width可传入float类型决定柱状图的宽带可以理解为横跨x轴的长度height可传入float类型默认0.8决定柱状图的高度可以理解为横跨y轴的长度left可传入float类型默认0决定柱状图最左侧与y轴的距离align可选’center’或’edge’, 默认 ‘center’柱状图与y坐标的对齐方式默认居中color柱状图的颜色edgecolor柱状图边缘的颜色linewidth柱状图边缘的宽度如果为0则不绘制边缘zorderfloat类型控制artist对象的绘制顺序zorder越小越先绘制有点图层的意思 2.2 matplotlib.legend的handles参数 我也是第一次见往plt.legend函数中传入handles参数的没有系统学过matplotlib库,这里也不详细解释了直接说怎么用吧。当我们想要自定义图例时使用下面代码 patches [mpatches.Patch(color m_colors[i], label m_labels[i]) for i in range(m)] plt.legend(handles patches)其中color参数是图例matplotlib.patches对象对应的颜色label为图例对应的标签。 3 代码实现 绘制代码如下 import numpy as np import matplotlib.pyplot as plt import matplotlib.patches as mpatchesplt.rcParams[font.sans-serif] [SimHei] # 用来正常显示中文标签 plt.rcParams[axes.unicode_minus] False # 用来正常显示负号def gantt_chart(wt, x_labels, y_labels, m_labels):wt: 工作矩阵大小为mxnx2m为车身数n为区域编号数第三维中第1个元素为车身进入区域的时间第2个元素为停留时间。color_list代表各车身的颜色矩阵大小为nx4。m, n wt.shape[0], wt.shape[1]m_colors plt.colormaps[terrain](np.linspace(0, 0.95, m))for i in range(n):for j in range(m):if wt[j, i, 1] ! 0:plt.barh(y i, width wt[j, i, 1], left wt[j, i, 0], height 1, edgecolor (0, 0, 0),color m_colors[j], zorder 10)# 图例绘制patches [mpatches.Patch(color m_colors[i], label m_labels[i]) for i in range(m)]plt.legend(handles patches, bbox_to_anchor (1.005, 0), loc 3, borderaxespad 0)plt.xticks(x_labels, fontsize 7)plt.yticks(list(range(n)), y_labels)plt.xlabel(时间/s)plt.ylabel(区域编号)plt.title(车身位置-时序甘特图)plt.grid(axis x, zorder 0)# plt.savefig(result21_车身位置-时序甘特图.jpg, dpi 200)plt.show()def custom_gantt_chart(path result21.csv, car_num 25, T 180):data np.loadtxt(open(path, rb), delimiter ,, encoding utf-8-sig, dtype object)[1:car_num 1, 1:T 1]car_label [fcar{i} for i in range(1, 26)]region_code [1, 410, 49, 48, 47, 46, 45, 44, 43, 42, 41,310, 39, 38, 37, 36, 35, 34, 33, 32, 31,210, 29, 28, 27, 26, 25, 24, 23, 22, 21, 2]car_num, T_num, region_num data.shape[0], data.shape[1], len(region_code)T_range [t for t in range(0, T_num 1, 3)]Wt np.zeros((car_num, region_num, 2))Wt[:, :, 0] -1for i in range(car_num):for j in range(T_num):if data[i, j] or data[i, j] 3:continueidx region_code.index(data[i, j])if Wt[i, idx, 0] -1:Wt[i, idx, 0] jWt[i, idx, 1] 1gantt_chart(Wt, T_range, region_code, car_label)if __name__ __main__:custom_gantt_chart(result21.csv, car_num 25, T 200)4 绘制效果 5 总结 可以从绘制效果中看到有些柱状图的颜色两两之间不仔细看根本分不出来。对于这个问题主要是这条代码m_colors plt.colormaps[terrain](np.linspace(0, 0.95, m))在色条上均匀取色时因为色条颜色数量太少即使是渐变色条随着取色数量增多也不容易分辨造成的。terrain颜色条包含的颜色如下图 关于更多的颜色条种类及使用方法参见https://matplotlib.org/stable/tutorials/colors/colormaps.html 参考 [1] https://zhuanlan.zhihu.com/p/106787569 [2] https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.barh.html [3] https://matplotlib.org/stable/api/legend_api.html [4] https://matplotlib.org/stable/tutorials/colors/colormaps.html
http://www.hkea.cn/news/14451039/

相关文章:

  • 照片做视频的软件 模板下载网站好讷河做网站公司
  • 哈尔滨网站seo公司网站上关键词的推广怎么做
  • 上杭网站设计拓者设计吧现代效果图
  • 怎样做二维码链接到网站上建设部勘察设计网站
  • 想做网站开发兼职wordpress管理员改为投稿者
  • wordpress添加站点新闻发布会是一种
  • 游戏点卡平台网站开发页面优化
  • 网站建设考试重点河南省工程建设业协会网站
  • dede网站模版免费商城系统源码
  • 平邑网站优化专门做兼职的网站有哪些
  • 网络营销对于个人而言有什么作用深圳做网站优化
  • 公司名称logo设计江门网站优化快速排名
  • 社区平安建设基层网站泰州网站建设电话
  • 如何创建游戏网站网页优化方案
  • 如何搭建公司内部网站网站建设淘宝客模板下载
  • 上海比较好的网站建设公司停止wordpress
  • 有网站开发专业吗网站建设网站网站建设网站
  • 电商网站建设的目标做网站的版式会侵权吗
  • wordpress 4.1 主题seo推广公司网站模板
  • 建设环保网站查询系统郑州注册公司流程及费用
  • 怎么健手机网站阿里云网站怎么备案域名解析
  • 淘宝上网站建设为啥这么便宜wordpress防止文章被采集
  • 做logo赚钱的网站公众号怎么建立
  • 佛山门户网站建设公司江西最新新闻事件
  • 什么是网站的功能模块工程监理行业为什么做网站
  • 校园文化网站建设莱芜在线论坛莱芜话题西关规划图
  • 集团网站推广哈尔滨一恒建设
  • 网站详情页链接怎么做wordpress忘记密码邮件收不到
  • 昆明seo博客南网站建设网站页面设计分析
  • 自适应 网站开发二次开发招聘