如何用 Python 画一条 10cm 的线条和直径 10cm 的圆,并输出成矢量的 pdf 和 svg?

2020-06-21 09:27:23 +08:00
 jememouse

如何用 python 画一条 10cm 的线条和直径 10cm 的圆,并输出成矢量的 pdf 和 svg ? 试过用 matplotlib,无法实现。 刚学习 python,请大家指教。

3813 次点击
所在节点    Python
13 条回复
Tony042
2020-06-21 09:35:37 +08:00
matplotlib 可以保存成 pdf 或 svg 啊, https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.savefig.html 仔细看 format parameter 的描述
vk42
2020-06-21 09:57:57 +08:00
matplotlib 当然能实现,但你得先看看文档上手,不过你这需求拿文档样例改改都行了……

另外如果是想要直观的数学作图可以试试 geogebra,上手容易很多而且是交互式作图
jdhao
2020-06-21 10:08:00 +08:00
不知道你是怎么试的,问问题只是都没上网搜一下,matplotlib 保存 pdf,网上一大堆教程。别这么懒
dingyaguang117
2020-06-21 11:46:05 +08:00
直接用 sketch 画一个,看看源码, 然后用自己拼不行吗
ethego
2020-06-21 11:55:22 +08:00
哪有十厘米的线,电子世界只有像素,一个像素多宽多长是不确定的。
610915518
2020-06-21 12:15:25 +08:00
5 楼说的对。建议使用 Photoshop 等软件,新建个 A4 纸,然后按比例画线和圆,这样才能画出 10 厘米的 X 。
zhuweiyou
2020-06-21 12:24:50 +08:00
厘米?建议别学编程了。
vk42
2020-06-21 12:49:05 +08:00
@ethego 画布大小设定好的情况当然是可以对应到具体尺寸的
Shy07
2020-06-21 12:58:05 +08:00
矢量作图可以用 pt 做单位,文字、图形都可以用,10 cm 对应的 pt 可以用公式计算出来

const mm2pt = value => parseFloat(value) * 360 / 127
Zhepro
2020-06-21 14:04:31 +08:00
PIL 的 imagedraw 比较方便,可以画 png 的图
cuminflea
2020-06-21 15:29:32 +08:00
svgwrite 的库,专门画 svg 的
izoabr
2020-06-21 19:46:15 +08:00
10L 说的对
jememouse
2020-06-21 23:38:53 +08:00
@cuminflea 非常感谢,学习了!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/683419

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX