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的函数。