您现在的位置是: 首页 > 体育新闻 体育新闻
用python绘制奥运五环的代码_用python绘制奥运五环的代码
zmhk 2024-05-24 人已围观
简介用python绘制奥运五环的代码_用python绘制奥运五环的代码 非常感谢大家对用python绘制奥运五环的代码问题集合的贡献。我会努力给出简明扼要的回答,并根据需要提供一些具体
非常感谢大家对用python绘制奥运五环的代码问题集合的贡献。我会努力给出简明扼要的回答,并根据需要提供一些具体实例来支持我的观点,希望这能给大家带来一些新的思路。
1.??python???ư????廷?Ĵ???
2.请问一下网友老铁们 美国国旗用python怎么做呀 求其代码 谢谢拉
3.怎么用python的turtle库画出这个图案,要代码?
4.如何利用Python绘制学术论文图表方法
??python???ư????廷?Ĵ???
换算概率为:1公里=0.621371192237英里代码逻辑可参考:
def test(n):
print "英里数:", n
print "公里数:", n/0.621371192237
请问一下网友老铁们 美国国旗用python怎么做呀 求其代码 谢谢拉
lst = [3, 5, 6, 0, -2, -8, 9]lst1 = [i for i in lst if i > 0]
lst2 = [i for i in lst if i < 0]
print('lst1:{},平均值:{}'.format(lst1, sum(lst1)/len(lst1)))
print('lst2:{},平均值:{}'.format(lst2, sum(lst2)/len(lst2)))
怎么用python的turtle库画出这个图案,要代码?
参考下五星红旗
<code>#!/usr/bin/env python
# -*- coding: utf-8 –*-
''' 对于turtle类的一些封装方法,包括画正多边形,正多角形和五星红旗。'''
__author__ = 'Hu Wenchao'
import turtle
import math
def draw_polygon(aTurtle, size=50, n=3):
''' 绘制正多边形
args:
aTurtle: turtle对象实例
size: int类型,正多边形的边长
n: int类型,是几边形
'''
for i in xrange(n):
aTurtle.forward(size)
aTurtle.left(360.0/n)
def draw_n_angle(aTurtle, size=50, num=5, color=None):
''' 绘制正n角形,默认为**
args:
aTurtle: turtle对象实例
size: int类型,正多角形的边长
n: int类型,是几角形
color: str, 图形颜色,默认不填色
'''
if color:
aTurtle.begin_fill()
aTurtle.fillcolor(color)
for i in xrange(num):
aTurtle.forward(size)
aTurtle.left(360.0/num)
aTurtle.forward(size)
aTurtle.right(2*360.0/num)
if color:
aTurtle.end_fill()
def draw_5_angle(aTurtle=None, start_pos=(0,0), end_pos=(0,10), radius=100, color=None):
''' 根据起始位置、结束位置和外接圆半径画五角星
args:
aTurtle: turtle对象实例
start_pos: int的二元tuple,要画的五角星的外接圆圆心
end_pos: int的二元tuple,圆心指向的位置坐标点
radius: 五角星外接圆半径
color: str, 图形颜色,默认不填色
'''
aTurtle = aTurtle or turtle.Turtle()
size = radius * math.sin(math.pi/5)/math.sin(math.pi*2/5)
aTurtle.left(math.degrees(math.atan2(end_pos[1]-start_pos[1], end_pos[0]-start_pos[0])))
aTurtle.penup()
aTurtle.goto(start_pos)
aTurtle.fd(radius)
aTurtle.pendown()
aTurtle.right(math.degrees(math.pi*9/10))
draw_n_angle(aTurtle, size, 5, color)
def draw_5_star_flag(times=20.0):
''' 绘制五星红旗
args:
times: 五星红旗的规格为30*20, times为倍数,默认大小为10倍, 即300*200
'''
width, height = 30*times, 20*times
# 初始化屏幕和海龟
window = turtle.Screen()
aTurtle = turtle.Turtle()
aTurtle.hideturtle()
aTurtle.speed(10)
# 画红旗
aTurtle.penup()
aTurtle.goto(-width/2, height/2)
aTurtle.pendown()
aTurtle.begin_fill()
aTurtle.fillcolor('red')
aTurtle.fd(width)
aTurtle.right(90)
aTurtle.fd(height)
aTurtle.right(90)
aTurtle.fd(width)
aTurtle.right(90)
aTurtle.fd(height)
aTurtle.right(90)
aTurtle.end_fill()
# 画大星星
draw_5_angle(aTurtle, start_pos=(-10*times, 5*times), end_pos=(-10*times, 8*times), radius=3*times, color='yellow')
# 画四个小星星
stars_start_pos = [(-5, 8), (-3, 6), (-3, 3), (-5, 1)]
for pos in stars_start_pos:
draw_5_angle(aTurtle, start_pos=(pos[0]*times, pos[1]*times), end_pos=(-10*times, 5*times), radius=1*times, color='yellow')
# 点击关闭窗口
window.exitonclick()
if __name__ == '__main__':
draw_5_star_flag()
</code>
如何利用Python绘制学术论文图表方法
import turtle as tdef quad(color):
t.begin_fill()
t.color(color)
t.forward(100)
t.left(36)
t.forward(100)
t.left(36*4)
t.forward(100)
t.left(36)
t.forward(100)
t.end_fill()
t.left(36*3)
for i in range(10):
if i%2:
?quad('#99c8de')else:
?quad('#e5b9c4')两三年没碰海龟了,觉得没啥用,看你赏金又提了就回去学了学
论文中图表形式多样,常用的处理工具有excel、MATLAB以及Python等,excel自处理的方法有两个缺陷:
1.当数据较多时,容易出现excel“翻白眼”的现象;
2.需要使用subplot功能或批量处理时,使用MATLAB或Python更为方便;
3.excel处理的图在美观程度上较论文图表标准有一定的距离。对比MATLAB以及Python的plot功能,从图的美观角度出发,Python稍占优势,下文讲简要介绍将excel中的数据提取到Python中并利用Python的matplotlib库制图的过程。
一.如何将Excel中的数据导入Python中:
此部分主要介绍如何将Excel中的数据导入python中(原始数据可能在.txt或.out文件中,且数据较为繁杂,可以先利用MATLAB或python将数据进行处理存入Excel中,包括一些简单的计算、排列等,以便于之后的绘图,或直接利用python提取.txt中数据,在此不做详细介绍),主要方法是利用python的xlrd库,流程如下:
# 导入xlrd库
import xlrd
# 读取指定Excel文件(此处为excel_dir)中的数据
data=xlrd.open_workbook(excel_dir)
# 读取指定data中某sheet(此处命名为sheetname)中的数据
table=data.sheet_by_name(sheetname)
#读取table中某一列的数据
needs=table.col_values(0) 其中有几个需要说明的点:
1.excel_dir和sheetname如何定义?
excel_dir应写成字符串的格式(即' '或者" "),最终应以.xls或.xlsx等Excel的后缀结尾,比如读取Administrator桌面上的名为result.xls的文件可写为:
excel_dir = 'C:UsersAdministratorDesktop
esult.xls'data=xlrd.open_workbook(excel_dir)sheetname定义的方法同上,除此之外sheet还有通过索引顺序的读取方法:
table = data.sheets()[0] #通过索引顺序获取
table = data.sheet_by_index(0) #通过索引顺序获取2.如何读取某单元格或者某行的数据?
流程中所示为读取某sheet中某列的数据,同理某行数据为:
table.col_values(i)读取某单元格数据命令为:
table.cell(i,j).value 3.读取某行或某列数据时,数据的范围是什么?
举个例子:当某sheet中表格如下时,会读取4×3表格中的数据。
即若想读取B列数据,代码应写为
table.col_values(1)注意:python是从0开始计数的,故column number应为1,此时计入的信息为:[u'',u'',4,u'']
且注意table的维度由各个sheet决定,及若某excel表格有多个sheet,可能出现list长度不同的情况。
4.如果想取某列2-5行如何做呢?
table.col_values(i)[1:5]5.若想取到最后一个数字,应如何编写代码?
由于各行/列的数据类型可能不同,可能会出现第一列仅4个数字,而第二列有9个数字,而最多的一列有100个数字等类似的情况,若直接用取整列的命令,会使list中掺入u'',导致下一步的绘图出错,此时可以使用如下方法:
a_col=table.col_values(i)
a=a_col[0,a_col.index(u'')]但需注意,此命令不能对控制行数的列使用,否则也会报错,可编写其他判断语句进行鉴别是否使用该命令。
二.如何利用Python进行绘图:
此处介绍利用matplotlib库进行绘图的方法,首先应导入matplotlib库:
import numpy as npimport matplotlib.pyplot as plt绘图方法很简单,大致流程如下:
# 绘图命令,1为图号,并设置figsize
fig_drift= plt.figure(1,figsize=(12,4))
# 设置数据在x轴和y轴的坐标,以及颜色、标签等属性,此处用了两组数据
plt.plot(drift[0], story,"g-",label='$Damped$')
plt.plot(drift[1], story,"r-.",label='$Undamped$')
# 设置x轴和y轴的标签
plt.xlabel('Drift')
plt.ylabel('Storey')
# 选择显示数据组标签
plt.legend()
# 设置x轴和y轴的间隔及范围
plt.xticks((0.000,0.005,0.010,0.015))
plt.yticks(range(1,5,1))
# 设置图名
plt.title('minor')
其中需要说明的几点:
1.如何绘制多图?
很简单,只需在设置了图号名之后,插入:
ax2 = plt.subplot(132)
plt.sca(ax2)后面的命令与前述一致,值得一提的是,plt.subplot(131)指的是绘制一个含有1×3子图的图,且ax1代表的是第2张图,而plt.sca(ax2)表示选择该子图。
2.设置x轴、y轴以及其他命令如何判断是赋予哪张图的属性呢?
matplotlib会直接将该属性赋予上一plot对象。
3.如何绘制散点图?
把pl.plot(x, y)改成pl.plot(x, y, 'o')即可。
4.其他一些设置参数:
# 设置x轴和y轴的上下限
pl.xlim(i, j)
pl.ylim(m,n)
# 显示图
pl.show()
# 保存图,自动存为png格式
plt.savefig(dir+name.png,dpi=600)除此之外还支持设置x轴(y轴)坐标显示,绘制饼状图、直方图等功能,在此不再一一介绍。
三.说点题外话:
曾经看过一句话:“世界上没有烂语言,只有写语言的烂人”。
每种语言各自有其优势,也有其劣势,在此不做过多评价。如何利用语言实现绘图或达到更多目标,在于我们如何选择。恰到好处地使用for或def、class等语句,能使一段代码如虎添翼,写在这里,作为给自己的提醒:遇到问题先明确方法、形成体系再进入编写,不要盲目地将看似正确的语言进行强行拼凑,返工率极高。
更多如何利用Python绘制学术论文图表方法相关文章请关注PHP中文网!
今天的讨论已经涵盖了“用python绘制奥运五环的代码”的各个方面。我希望您能够从中获得所需的信息,并利用这些知识在将来的学习和生活中取得更好的成果。如果您有任何问题或需要进一步的讨论,请随时告诉我。