太震撼了,我用python画出全北京的公交线路动图,准备Python面试

prevPt[0] + pt[0],

prevPt[1] + pt[1]

];

}

prevPt = pt;

points.push([pt[0] / 1e4, pt[1] / 1e4]);

}

return {

coords: points,

lineStyle: {

normal: {

color: echarts.color.modifyHSL(‘#5A94DF’, Math.round(hStep * idx))

}

}

}

这是一段java代码,如果看不懂就不要看了,大致意思是把数据都除以10000,然后列表奇数位依次相加、偶数位依次相加,两两一组即为各个公交站点地理坐标,每个列表代表1个线路。

用python实现以上过程,代码如下:

import json

with open(‘1.json’,‘r’) as f:

datas=json.load(f)

result=[]

for data in datas:

data = [float(i / 10000) for i in data]

a=[]

for i in range(2,len(data),2):

data[i]=data[i-2]+data[i]

data[i+1] = data[i - 1] + data[i+1]

a.append([data[i],data[i+1]])

result.append(a)

感觉还是python的代码要少一些

三、画图

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个用Python的turtle模块画动图的例子,并将其输出成gif的方法: ```python import turtle import time import os # 设置画布和画笔 canvas = turtle.Screen() canvas.bgcolor("black") pen = turtle.Turtle() pen.speed(0) pen.color("white") # 定义函数:画一个五角星 def draw_star(size, color): pen.color(color) pen.begin_fill() for i in range(5): pen.forward(size) pen.right(144) pen.end_fill() # 画动图 frames = [] for i in range(36): pen.clear() draw_star(50, "white") pen.right(10) canvas.update() time.sleep(0.05) filename = "frame{:02d}.eps".format(i) canvas.getcanvas().postscript(file=filename, colormode='color') frames.append(filename) # 将eps格式的图片转换成gif格式 os.system("convert -delay 10 -loop 0 *.eps animation.gif") # 删除生成的eps图片 for frame in frames: os.remove(frame) # 显示动图 os.system("animation.gif") ``` 解释一下代码: 首先,我们导入了turtle模块,并设置了画布和画笔。然后定义了一个函数draw_star来画一个五角星。 接下来,我们要画动图。我们使用for循环来控制每一帧的位置和角度。在每一帧之后,我们把画布转换成eps格式的图片,然后把文件名添加到frames列表中。 最后,我们使用ImageMagick的convert命令将eps格式的图片转换成gif格式,并设置帧率和循环次数。然后我们删除生成的eps图片,最后显示动图。 注意:需要安装ImageMagick才能使用convert命令。如果你没有安装,可以到官网下载安装包:https://imagemagick.org/script/download.php。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值