中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

ui界面設(shè)計尺寸規(guī)范淘寶關(guān)鍵詞優(yōu)化軟件

ui界面設(shè)計尺寸規(guī)范,淘寶關(guān)鍵詞優(yōu)化軟件,怎么做地下彩票網(wǎng)站,網(wǎng)站建設(shè)客服問題文章目錄 常用繪圖函數(shù)單選框的更改邏輯源代碼 Python繪圖系統(tǒng): 前置源碼: Python打造動態(tài)繪圖系統(tǒng)📈一 三維繪圖系統(tǒng) 📈二 多圖繪制系統(tǒng)📈三 坐 標(biāo) 軸 定 制📈四 定制繪圖風(fēng)格 📈五 數(shù)據(jù)生成導(dǎo)…

文章目錄

    • 常用繪圖函數(shù)
    • 單選框的更改邏輯
    • 源代碼

Python繪圖系統(tǒng):

  • 前置源碼: Python打造動態(tài)繪圖系統(tǒng)
  • 📈一 三維繪圖系統(tǒng) 📈二 多圖繪制系統(tǒng)📈三 坐 標(biāo) 軸 定 制
  • 📈四 定制繪圖風(fēng)格 📈五 數(shù)據(jù)生成導(dǎo)入📈六 三維動態(tài)演示
  • 動圖繪制:動圖繪制🔥實現(xiàn)動圖繪制系統(tǒng)
  • 坐標(biāo)列表進階:導(dǎo)出數(shù)據(jù)📌系統(tǒng)菜單📌批量文件導(dǎo)入📌輔助坐標(biāo)軸
  • 繪圖類型進階:坐標(biāo)映射📌八種繪圖函數(shù)

常用繪圖函數(shù)

目前只集成了三種繪圖函數(shù),即plot, scatter和bar,這個體量不到matplotlib提供的繪圖函數(shù)的十分之一,接下來要做的自然是擴充繪圖函數(shù)庫。

但一次性也不宜擴充太多,下面列出一些常用的繪圖函數(shù),如無說明,小寫的x,y,z表示一維數(shù)組;大寫的X,Y,Z表示二維數(shù)組,也就是矩陣;?表示這種繪圖函數(shù)不支持這種坐標(biāo),或者不建議在這種坐標(biāo)中繪圖。

函數(shù)類別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坐標(biāo)中,大部分函數(shù)只支持兩個變量,極坐標(biāo)亦然,而3D坐標(biāo)中要么不支持繪圖,要么支持x,y或者x,y,z三種繪圖坐標(biāo)。

單選框的更改邏輯

完成這個功能的改動,只需先更改cbTypeChanged,再更改cbProjNone, cbProjPolar以及cbProj3d這三個函數(shù)就可以了。

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)

接下來是設(shè)置projection的函數(shù),之前我們一直把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')

最后,新建一個全局的常量,用于存儲函數(shù)名,并在創(chuàng)建slctDct字典時調(diào)用。

def initConst(self):self.TYPES = ["點線圖", "曲線圖", "散點圖", "圖像", "偽彩圖", "條形圖", "橫向條形圖", "莖葉圖", "階梯圖"]

修改后的結(jié)果如圖所示

在這里插入圖片描述

源代碼

下面給出base.py的源代碼。

import numpy as np
import tkinter as tk
import tkinter.ttk as ttkclass DrawStyle(ttk.Frame):def __init__(self, master, varDct={}, ws=None, func=None, **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","標(biāo)簽" : "label"    , "透明度"    : "alpha", "層號" : "zorder" }self.STR_KEYS = ["標(biāo)簽"]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(side=tk.TOP, fill=tk.X)return frmdef initWidgets(self):frm = self.newFrame()for i,key in enumerate(["標(biāo)簽", "層號", "透明度"]):tk.Label(frm, text=key).grid(row=0, column=i*2, padx=2)tmp = ttk.Entry(frm, width=10, textvariable=self.varDct[key])tmp.grid(row=0, column=i*2+1, padx=2, pady=2)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', '^', '<', '>', '8', 's', 'p', '*', 'h', 'H', 'D', 'd', 'P', 'X'],"線型" : ['-', '--', '-.', ':']}for i in range(2):key = self.COM_KEYS[i]ttk.Label(frm, text=key).grid(row=i+1, column=0, padx=2)tmp = ttk.Combobox(frm, width=10, textvariable=self.varDct[key])tmp.grid(row=i+1, column=1, padx=2, pady=2)tmp['value'] = enumDct[key]key = self.NUM_KEYS[i]ttk.Label(frm, text=key).grid(row=i+1, column=2, padx=2)tmp = ttk.Entry(frm, width=10, textvariable=self.varDct[key])tmp.grid(row=i+1, column=3, padx=2, pady=2)key = self.CLR_KEYS[i]ttk.Label(frm, text=key).grid(row=i+1, column=4, padx=2)tmp = ttk.Entry(frm, width=10, textvariable=self.varDct[key])tmp.grid(row=i+1, column=5, padx=2, pady=2)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"},ws=None, func=None, **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 ws==None: ws = [5, 5, 5, 3]slctDct = {'type': self.TYPES, 'proj': ("None", "3d", "polar"), 'dim' : ("x", "xy", "xyz")}    # 繪圖維度keys = ['sub', 'type', 'proj', 'dim']self.wDct = {}  # 控件字典# 此為設(shè)置子圖的Entry控件self.wDct['sub'] = ttk.Entry(self, width=ws[0], textvariable=self.drawVars['sub'])for i, key in enumerate(keys[1:], 1):self.wDct[key] = ttk.Combobox(self, width=ws[i], textvariable=self.drawVars[key])self.wDct[key]['value'] = slctDct[key]for key in keys:self.wDct[key].pack(side=tk.LEFT, padx=2)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://m.risenshineclean.com/news/65052.html

相關(guān)文章:

  • 有沒有專門做針織衫的網(wǎng)站北京搜索優(yōu)化排名公司
  • 甘肅住房建設(shè)廳的網(wǎng)站評論優(yōu)化
  • 動態(tài)網(wǎng)頁技術(shù)seo排名優(yōu)化公司
  • 局域網(wǎng)內(nèi)個人網(wǎng)站建設(shè)軟文大全
  • 太原網(wǎng)站設(shè)計公司泉州關(guān)鍵詞快速排名
  • 交三百能在網(wǎng)站上找兼職做的地推十大推廣app平臺
  • 坪地網(wǎng)站建設(shè)包括哪些河源新聞最新消息
  • 淘客推廣平臺濟南網(wǎng)站優(yōu)化培訓(xùn)
  • 藍色腳手架織夢企業(yè)網(wǎng)站模板網(wǎng)站新站整站排名
  • 網(wǎng)站開發(fā)廣告語大全網(wǎng)絡(luò)營銷師課程
  • wordpress主題圖標(biāo)亂碼武漢seo搜索引擎優(yōu)化
  • 深圳市龍崗區(qū)疫情百度推廣優(yōu)化是什么?
  • 做網(wǎng)上商城網(wǎng)站設(shè)計靠譜的廣告聯(lián)盟
  • 哈爾濱做網(wǎng)站哈爾濱學(xué)院seovip培訓(xùn)
  • icp備案網(wǎng)站接入信息 ip地址段怎么創(chuàng)建個人網(wǎng)站
  • wordpress commentseo優(yōu)化人員
  • 深圳網(wǎng)站開發(fā)哪家服務(wù)專業(yè)怎么申請網(wǎng)站
  • 網(wǎng)站后臺用什么做優(yōu)化流程
  • 臨沂網(wǎng)站開發(fā)如何優(yōu)化企業(yè)網(wǎng)站
  • 東軟 網(wǎng)站群平臺建設(shè)怎么利用互聯(lián)網(wǎng)推廣
  • 專門做網(wǎng)站代購的盈利路子郴州seo
  • 武漢市有做網(wǎng)站的嗎營業(yè)推廣策劃方案
  • 電商網(wǎng)站有哪些功能模塊bt磁力bt天堂
  • 怎么制作一個app應(yīng)用佛山做seo推廣公司
  • 門戶網(wǎng)站cmssem競價代運營
  • 移動網(wǎng)站建設(shè)方面廊坊百度關(guān)鍵詞優(yōu)化
  • 網(wǎng)站開發(fā)怎樣建立后臺數(shù)據(jù)推廣產(chǎn)品的軟文怎么寫
  • 怎么搭建釣魚網(wǎng)站百度指數(shù)第一
  • 門戶網(wǎng)站如何運營百度電商推廣
  • 哪個網(wǎng)站做攻略比較好seo 網(wǎng)站優(yōu)化推廣排名教程