1. python tkinter grid 網格
from tkinter import *
colors = ['red', 'green', 'orange', 'white', 'yellow', 'blue']
r = 0
for c in colors:
Label(text=c, relief=RIDGE, width=25).grid(row=r, column=0)
Entry(bg=c, relief=SUNKEN, width=50).grid(row=r, column=1)
r += 1
///sticky=NSEW,rowconfigure擴展
"add a label on the top and form resizing"
from tkinter import *
colors = ['red', 'white', 'blue']
def gridbox(root):
Label(root, text='Grid').grid(columnspan=2)
row = 1
for color in colors:
lab = Label(root, text=color, relief=RIDGE, width=25)
ent = Entry(root, bg=color, relief=SUNKEN, width=50)
lab.grid(row=row, column=0, sticky=NSEW)
ent.grid(row=row, column=1, sticky=NSEW)
root.rowconfigure(row, weight=1)
row += 1
root.columnconfigure(0, weight=1)
root.columnconfigure(1, weight=1)
def packbox(root):
Label(root, text='Pack').pack()
for color in colors:
row = Frame(root)
lab = Label(row, text=color, relief=RIDGE, width=25)
ent = Entry(row, bg=color, relief=SUNKEN, width=50)
row.pack(side=TOP, expand=YES, fill=BOTH)
lab.pack(side=LEFT, expand=YES, fill=BOTH)
ent.pack(side=RIGHT, expand=YES, fill=BOTH)
root = Tk()
gridbox(Toplevel(root))
packbox(Toplevel(root))
Button(root, text='Quit', command=root.quit).pack()
mainloop()
columnspan=2 跨兩行 row column
2. python畫圖的問題~
在Word中畫三角形的角平分線、高、中線:
1.執行「視圖/工具欄/繪圖」命令,調出「繪圖」工具欄;
2.在「繪圖」工具欄上點擊「繪圖/繪圖網格」打開「繪圖網格」對話框;
3.在對話框中進行「網格設置」「水平間距」「0.86行」、「垂直間距」「0.6行」,選中「在屏幕上顯示網格線」「垂直間隔」「2」、「水平間隔」「2」;
4.單擊「確定」按鈕,文檔中顯示繪圖網格線;
5.根據網格線繪制三角形的角平分線、高、中線(畫線用「繪圖」工具欄上的「直線」工具);
6.把繪制的三角形、角平分線、高、中線同時選中,並右擊,執行「組合/組合」快捷菜單命令,把所繪制圖形組合在一起,便於圖形整體移動。
3. 用python 畫一個網格
print函數是輸出字元串,所以用 print輸出形成的 grid其實質是具有某特定形狀的字元串,而plt.grid() 繪制出的網格是 圖片。
字元串是可以用文字處理軟體(如 word、記事本等)直接編輯處理的,而圖片則只能用圖片編輯軟體(如畫筆)打開處理。
如問題所要求的最簡單的「編寫一個能畫出如下網格(grid)的函數」代碼,可以簡單的用 print函數就可以了:
4. python繪圖篇
1,xlable,ylable設置x,y軸的標題文字。
2,title設置標題。
3,xlim,ylim設置x,y軸顯示範圍。
plt.show()顯示繪圖窗口,通常情況下,show()會阻礙程序運行,帶-wthread等參數的環境下,窗口不會關閉。
plt.saveFig()保存圖像。
面向對象繪圖
1,當前圖表和子圖可以用gcf(),gca()獲得。
subplot()繪制包含多個圖表的子圖。
configure subplots,可調節子圖與圖表邊框距離。
可以通過修改配置文件更改對象屬性。
圖標顯示中文
1,在程序中直接指定字體。
2, 在程序開始修改配置字典reParams.
3,修改配置文件。
Artist對象
1,圖標的繪制領域。
2,如何在FigureCanvas對象上繪圖。
3,如何使用Renderer在FigureCanvas對象上繪圖。
FigureCanvas和Render處理底層圖像操作,Artist處理高層結構。
分為簡單對象和容器對象,簡單的Aritist是標準的繪圖元件,例如Line 2D,Rectangle,Text,AxesImage等,而容器類型包含許多簡單的的 Aritist對象,使他們構成一個整體,例如Axis,Axes,Figure等。
直接創建Artist對象進項繪圖操作步奏:
1,創建Figure對象(通過figure()函數,會進行許多初始化操作,不建議直接創建。)
2,為Figure對象創建一個或多個Axes對象。
3,調用Axes對象的方法創建各類簡單的Artist對象。
Figure容器
如何找到指定的Artist對象。
1,可調用add_subplot()和add_axes()方法向圖表添加子圖。
2,可使用for循環添加柵格。
3,可通過transform修改坐標原點。
Axes容器
1,patch修改背景。
2,包含坐標軸,坐標網格,刻度標簽,坐標軸標題等內容。
3,get_ticklabels(),,get-ticklines獲得刻度標簽和刻度線。
1,可對曲線進行插值。
2,fill_between()繪制交點。
3,坐標變換。
4,繪制陰影。
5,添加註釋。
1,繪制直方圖的函數是
2,箱線圖(Boxplot)也稱箱須圖(Box-whisker Plot),是利用數據中的五個統計量:最小值、第一四分位
數、中位數、第三四分位數與最大值來描述數據的一種方法,它可以粗略地看出數據是否具有對稱性以及分
布的分散程度等信息,特別可以用於對幾個樣本的比較。
3,餅圖就是把一個圓盤按所需表達變數的觀察數劃分為若干份,每一份的角度(即面積)等價於每個觀察
值的大小。
4,散點圖
5,QQ圖
低層繪圖函數
類似於barplot(),dotchart()和plot()這樣的函數採用低層的繪圖函數來畫線和點,來表達它們在頁面上放置的位置以及其他各種特徵。
在這一節中,我們會描述一些低層的繪圖函數,用戶也可以調用這些函數用於繪圖。首先我們先講一下R怎麼描述一個頁面;然後我們講怎麼在頁面上添加點,線和文字;最後講一下怎麼修改一些基本的圖形。
繪圖區域與邊界
R在繪圖時,將顯示區域劃分為幾個部分。繪制區域顯示了根據數據描繪出來的圖像,在此區域內R根據數據選擇一個坐標系,通過顯示出來的坐標軸可以看到R使用的坐標系。在繪制區域之外是邊沿區,從底部開始按順時針方向分別用數字1到4表示。文字和標簽通常顯示在邊沿區域內,按照從內到外的行數先後顯示。
添加對象
在繪制的圖像上還可以繼續添加若干對象,下面是幾個有用的函數,以及對其功能的說明。
•points(x, y, ...),添加點
•lines(x, y, ...),添加線段
•text(x, y, labels, ...),添加文字
•abline(a, b, ...),添加直線y=a+bx
•abline(h=y, ...),添加水平線
•abline(v=x, ...),添加垂直線
•polygon(x, y, ...),添加一個閉合的多邊形
•segments(x0, y0, x1, y1, ...),畫線段
•arrows(x0, y0, x1, y1, ...),畫箭頭
•symbols(x, y, ...),添加各種符號
•legend(x, y, legend, ...),添加圖列說明
5. python網格搜索支持向量回歸得分低,為0.003,偶爾還會出現負數,該怎麼處理
使用Python編程可以快速遷移代碼並進行改動,無須花費過多的精力在修改代碼與代碼規范上。開發者在Python中封裝了很多優秀的依賴庫,可以直接拿來使用,常見的機器學習庫如下:1、Scikit-LearnScikit-Learn基於Numpy和Scipy,是專門為機器學習建造的一個Python模塊,提供了大量用於數據挖掘和分析的工具,包括數據預處理、交叉驗證、演算法與可視化演算法等一系列介面。Scikit-Learn基本功能可分為六個部分:分類、回歸、聚類、數據降維、模型選擇、數據預處理。其中集成了大量分類、回歸、聚類功能,包括支持向量機、邏輯回歸、隨機森林、樸素貝葉斯等。2、Orange3Orange3是一個基於組件的數據挖掘和機器學習軟體套裝,支持Python進行腳本開發。它包含一系列的數據可視化、檢索、預處理和建模技術,具有一個良好的用戶界面,同時也可以作為Python的一個模塊使用。用戶可通過數據可視化進行數據分析,包含統計分布圖、柱狀圖、散點圖,以及更深層次的決策樹、分層聚簇、熱點圖、MDS等,並可使用它自帶的各類附加功能組件進行NLP、文本挖掘、構建網路分析等。3、XGBoostXGBoost是專注於梯度提升演算法的機器學習函數庫,因其優良的學習效果及高效的訓練速度而獲得廣泛的關注。XGBoost支持並行處理,比起同樣實現了梯度提升演算法的Scikit-Learn庫,其性能提升10倍以上。XGBoost可以處理回歸、分類和排序等多種任務。4、NuPICNuPIC是專注於時間序列的一個機器學習平台,其核心演算法為HTM演算法,相比於深度學習,其更為接近人類大腦的運行結構。HTM演算法的理論依據主要是人腦中處理高級認知功能的新皮質部分的運行原理。NuPIC可用於預測以及異常檢測,使用面非常廣,僅要求輸入時間序列即可。5、MilkMilk是Python中的一個機器學習工具包。Milk注重提升運行速度與降低內存佔用,因此大部分對性能敏感的代碼都是使用C++編寫的,為了便利性在此基礎上提供Python介面。重點提供監督分類方法,如SVMs、KNN、隨機森林和決策樹等。6. 用python為某一網格節點創建集合
沒有聽明白。 網路是GRID嗎?還是游戲中的模型。 節點編號是按什麼規則編寫的。 滑鼠操作是什麼意思,難道你有一個圖形界面,可以截圖過來看看嗎?
即然你編出程序來了。把程序截圖或者是代碼復雜上來看一看,或者是把錯誤提示截圖過來。這樣好幫你診斷。
7. 如何在已經劃好網格的part中插入cohesive單元
有限元商業軟體ABAQUS提供了多種模擬裂紋開裂的方法,其中以cohesive element和XFEM最為有效。XFEM只需要添加預制裂紋,即能模擬裂紋的擴展,裂紋路徑不受限制,可穿過單元傳播。XFEM模擬開裂時,認為材料各處的斷裂強度是一致,這很難模擬本身具有離散性的脆性材料裂紋擴展受強度影響。將cohesive單元批量嵌入單元網格之間,並賦予cohesive element服從weibull分布的斷裂強度,即可實現裂紋沿任意路徑擴展,此時裂紋的擴展受強度的影響。雖然用cohesive element模擬裂紋開裂,裂紋只能演單元邊開裂,但其對脆性材料開裂的模擬更接近真實情況。ABAQUS CAE中只提供了簡單添加cohesive element的方法,要實現cohesive element的批量添加,需要通過對inp文件的處理來實現。
Python是ABAQUS的腳本語言,可很方便的實現文本操作。cohesive element的添加流程如下:
(1)在ABAQUS CAE中生成inp文件,並將需要添加cohesive element的單元建立集合,為描述方便,下文把此集合稱作CO_IN_SET;
(2)用python程序讀取inp文件,分別獲得節點信息及單元信息,以及CO_IN_SET;
(3)獲得CO_IN_SET中單元對應的節點,並找出其中節點的重復次數,重復節點大於2的即需生成新的節點,每一重復節點生成的新節點比其重復次數少1,記錄新節點對應的單元;
(4)獲得CO_IN_SET中單元對應的邊的重復次數,其單元的邊由單元的節點按逆時針連接形成,單元的重復邊即為需要嵌入cohesive單元的地方;
(5)替換CO_IN_SET單元的節點為新的節點,並按照重復邊形成cohesive單元;
(6)輸出新的包含cohesive element的inp文件。
8. 請問怎麼用Python畫柵格地圖,類似下面這樣的圖,激光會返回障礙物的位置信息
你用的是激光雷達吧。 雷達應該本身可以形成周圍物體的反饋。
所以需要一個圖像識別演算法識別出障礙物是什麼。然後標志出來。
這個沒有做過。不過都是現成的演算法。 找一找就可以找到。
如果沒有找到可以按下面的思路去做:
雷達應該可以返回目標物的距離,以及反射強度。可以使用PIL,製作一個IMAGE。根據距離角度計算出點的位置,根據反射強度計算出它的灰度值。0-255的范圍。
下面是計算障礙物。 通常可以簡化演算法。 比如連續灰度值過10且超過2-3個像素則為目標障礙物。還可以加上距離判斷。比如距離15厘米以內的才算是障礙物。
另外灰度值與范圍可以做一個判斷矩陣。低灰度值。
有了障礙物,只需要計算圖像中心點。然後在周圍畫個矩形。
最後把IMAGE畫出來。可以用PIL,也可以用opencv的函數。