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

电子商务网站设计原则网站建设意向表

电子商务网站设计原则,网站建设意向表,go 是做网站的吗,阿里网站制作需要多少钱文章目录 常用绘图函数单选框的更改逻辑源代码 Python绘图系统#xff1a; 前置源码#xff1a; Python打造动态绘图系统#x1f4c8;一 三维绘图系统 #x1f4c8;二 多图绘制系统#x1f4c8;三 坐 标 轴 定 制#x1f4c8;四 定制绘图风格 #x1f4c8;五 数据生成导… 文章目录 常用绘图函数单选框的更改逻辑源代码 Python绘图系统 前置源码 Python打造动态绘图系统一 三维绘图系统 二 多图绘制系统三 坐 标 轴 定 制四 定制绘图风格 五 数据生成导入六 三维动态演示动图绘制动图绘制实现动图绘制系统坐标列表进阶导出数据系统菜单批量文件导入辅助坐标轴绘图类型进阶坐标映射八种绘图函数 常用绘图函数 目前只集成了三种绘图函数即plot, scatter和bar这个体量不到matplotlib提供的绘图函数的十分之一接下来要做的自然是扩充绘图函数库。 但一次性也不宜扩充太多下面列出一些常用的绘图函数如无说明小写的x,y,z表示一维数组大写的X,Y,Z表示二维数组也就是矩阵❌表示这种绘图函数不支持这种坐标,或者不建议在这种坐标中绘图。 函数类别2Dpolar3D备注imshow图像X❌❌pcolormesh伪彩图[X,Y,]ZX,Y,Z❌plot曲线图x[,y]x[,y]x,y[,z]scatter散点图x,y/X,Yx,yx,y,[,z]可为任意维度stem茎叶图x,yx,yx,y[,z]step阶梯图x,yx,yx,y[,z]bar条形图x,yx,yx,y[,z]barh横向条形图x,yx,y❌ 从这个图可以看出2D坐标中大部分函数只支持两个变量极坐标亦然而3D坐标中要么不支持绘图要么支持x,y或者x,y,z三种绘图坐标。 单选框的更改逻辑 完成这个功能的改动只需先更改cbTypeChanged再更改cbProjNone, cbProjPolar以及cbProj3d这三个函数就可以了。 def cbTypeChanged(self, evt):t self.drawVars[type].get()p self.drawVars[proj].get()if t in (图像):self.wDct[proj][value] (None)elif t in (横向条形图, 伪彩图):self.wDct[proj][value] (None, polar)else:self.wDct[proj][value] (None, 3d, polar)projs self.wDct[proj][value]if p not in projs:self.drawVars[proj].set(projs[0]) self.cbProjChanged(None)接下来是设置projection的函数之前我们一直把plot取名为点线图这个先留着但不妨碍把曲线图作为另一个名字加上去但“点线图”这个名字暂时还不能删因为DrawSystem那边的代码还没有改。 def cbProjNone(self, t):if t in (点线图, 曲线图):self.wDct[dim][value] (x, xy)elif t in (图像):self.wDct[dim][value] (x)elif t in (伪彩图):self.wDct[dim][value] (x, xyz)else:self.wDct[dim][value] (xy)def cbProjPolar(self, t):if t in (点线图, 曲线图):self.wDct[dim][value] (x, xy)elif t in (伪彩图):self.wDct[dim][value] (xyz)else:self.wDct[dim][value] (xy)def cbProj3d(self, t):self.wDct[dim][value] (xy, xyz)最后新建一个全局的常量用于存储函数名并在创建slctDct字典时调用。 def initConst(self):self.TYPES [点线图, 曲线图, 散点图, 图像, 伪彩图, 条形图, 横向条形图, 茎叶图, 阶梯图]修改后的结果如图所示 源代码 下面给出base.py的源代码。 import numpy as np import tkinter as tk import tkinter.ttk as ttkclass DrawStyle(ttk.Frame):def __init__(self, master, varDct{}, wsNone, funcNone, **options):super().__init__(master, **options)self.pack()self.initConst()self.initVars()self.initWidgets()def initConst(self):self.VAR_LABS {线型 : linestyle, 线宽 : linewidth, 线色 : color,点型 : marker , 点径 : markersize, 点色 : markeredgecolor,标签 : label , 透明度 : alpha, 层号 : zorder }self.STR_KEYS [标签]self.COM_KEYS [线型, 点型]self.NUM_KEYS [线宽, 点径, 透明度]self.INT_KEYS [层号]self.CLR_KEYS [线色, 点色]def initVars(self):self.varDct {key:tk.StringVar() for key in self.VAR_LABS}def newFrame(self):frm ttk.Frame(self)frm.pack(sidetk.TOP, filltk.X)return frmdef initWidgets(self):frm self.newFrame()for i,key in enumerate([标签, 层号, 透明度]):tk.Label(frm, textkey).grid(row0, columni*2, padx2)tmp ttk.Entry(frm, width10, textvariableself.varDct[key])tmp.grid(row0, columni*21, padx2, pady2)self.initLineMarker(frm)def initLineMarker(self, frm):enumDct {点型 : [., ,, 1, 2, 3, 4, , x, |, _, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, o, v, ^, lt;, gt;, 8, s, p, *, h, H, D, d, P, X],线型 : [-, --, -., :]}for i in range(2):key self.COM_KEYS[i]ttk.Label(frm, textkey).grid(rowi1, column0, padx2)tmp ttk.Combobox(frm, width10, textvariableself.varDct[key])tmp.grid(rowi1, column1, padx2, pady2)tmp[value] enumDct[key]key self.NUM_KEYS[i]ttk.Label(frm, textkey).grid(rowi1, column2, padx2)tmp ttk.Entry(frm, width10, textvariableself.varDct[key])tmp.grid(rowi1, column3, padx2, pady2)key self.CLR_KEYS[i]ttk.Label(frm, textkey).grid(rowi1, column4, padx2)tmp ttk.Entry(frm, width10, textvariableself.varDct[key])tmp.grid(rowi1, column5, padx2, pady2)def getOneVar(self, key):v self.varDct[key].get()if v:return if key in NUM_KEYS:return float(v)elif key in INT_KEYS:return int(v)else:return vdef getVarDct(self):dct {self.VAR_LABS[key] : self.varDct[key].get() for key in self.varDct}return {key : dct[key] for key in dct if dct[key]!}# 绘图类型和维度 # varDct 的格式是 {sub:sub, type:slctType, dim:dim, proj: proj}class DrawType(ttk.Frame):# ws为两个combobox的宽def __init__(self, master, varDct {sub:111, type:点线图, dim:xyz, proj: 3d},wsNone, funcNone, **options):super().__init__(master, **options)self.pack()self.dimChanged funcself.initConst()self.initVar(varDct)self.initWidgets(ws)def initVar(self, varDct):self.drawVars {key:tk.StringVar() for key in varDct}for key in self.drawVars:self.drawVars[key].set(varDct[key])def initConst(self):self.TYPES [点线图, 曲线图, 散点图, 图像, 伪彩图, 条形图, 横向条形图, 茎叶图, 阶梯图]def initWidgets(self, ws):if wsNone: ws [5, 5, 5, 3]slctDct {type: self.TYPES, proj: (None, 3d, polar), dim : (x, xy, xyz)} # 绘图维度keys [sub, type, proj, dim]self.wDct {} # 控件字典# 此为设置子图的Entry控件self.wDct[sub] ttk.Entry(self, widthws[0], textvariableself.drawVars[sub])for i, key in enumerate(keys[1:], 1):self.wDct[key] ttk.Combobox(self, widthws[i], textvariableself.drawVars[key])self.wDct[key][value] slctDct[key]for key in keys:self.wDct[key].pack(sidetk.LEFT, padx2)self.wDct[type].bind(ComboboxSelected, self.cbTypeChanged)self.wDct[proj].bind(ComboboxSelected, self.cbProjChanged)self.wDct[dim].bind(ComboboxSelected, self.dimChanged)def cbTypeChanged(self, evt):t self.drawVars[type].get()p self.drawVars[proj].get()if t in (图像):self.wDct[proj][value] (None)elif t in (横向条形图, 伪彩图):self.wDct[proj][value] (None, polar)else:self.wDct[proj][value] (None, 3d, polar)projs self.wDct[proj][value]if p not in projs:self.drawVars[proj].set(projs[0]) self.cbProjChanged(None)def cbProjChanged(self, evt):p self.drawVars[proj].get()func {None: self.cbProjNone,3d: self.cbProj3d,polar : self.cbProjPolar}d self.wDct[dim].get()t self.drawVars[type].get()func[p](t)dims self.wDct[dim][value]if d not in dims:self.drawVars[dim].set(dims[0])self.dimChanged(None)def cbProjNone(self, t):if t in (点线图, 曲线图):self.wDct[dim][value] (x, xy)elif t in (图像):self.wDct[dim][value] (x)elif t in (伪彩图):self.wDct[dim][value] (x, xyz)else:self.wDct[dim][value] (xy)def cbProjPolar(self, t):if t in (点线图, 曲线图):self.wDct[dim][value] (x, xy)elif t in (伪彩图):self.wDct[dim][value] (xyz)else:self.wDct[dim][value] (xy)def cbProj3d(self, t):self.wDct[dim][value] (xy, xyz)def getSub(self):return self.drawVars[sub].get()def getType(self): return self.drawVars[type].get()def getDim(self):return self.drawVars[dim].get()def getProj(self):return self.drawVars[proj].get()def getDct(self):return {key:self.drawVars[key].get() for key in self.drawVars}
http://www.dnsts.com.cn/news/79736.html

相关文章:

  • 主题网站策划设计书哪个网站可以做思维导图
  • 亚马逊做超链接的网站电梯配件做外贸在哪个网站
  • 长春seo网站排名自己做的网站能被百度收录吗
  • 网站伪静态作用如何用自己的电脑建网站
  • 软件前端开发百度seo公司有哪些
  • 免费授权企业网站源码网站的功能规范
  • 销售管理系统网站模板做手机网站一般要多少钱
  • 陕西省建设八大员官方网站wordpress破解版下载
  • 赣州网站制作培训重庆建设门户网站
  • 培训机构做网站宣传制作游戏网站
  • 邢台网站建设哪里有wordpress手机站模板
  • 做企业网站类型网站备案时 首页
  • 网站开发公司 网站空间wordpress更改图片上传路径
  • 上海网站设计开发公网站后台代码添加图片
  • vc 做网站源码注册一个免费的网站吗
  • 整形网站模板自己做网站需要多少费用
  • 织梦网站上传数据库深圳营销型网站建设设计公司
  • 做网站后台的时候要注意什么wordpress 中文数据库
  • 最专业的企业营销型网站建设公司泰安创意网络公司
  • php网站有哪些男女做羞羞事试看网站
  • 纯php网站江苏企业建站
  • 网站建设的简要任务执行书wordpress支持页面模版
  • iis7 新建网站金华市建设局网站贾润根
  • 铜仁网站建设哪家专业郑州平面设计公司排名
  • 门户营销型网站搭建北京高级网站开发
  • iis7.5添加网站网站建设上传和下载
  • 上海比较好的公司排名seo推广公司网站模板
  • 做网站用什么云服务器文化馆 网站 设计
  • 昆山装饰公司网站建设推广是什么意思
  • 自己做网站犯法吗微信怎么制作网页