学堂 学堂 学堂公众号手机端

如何用Python绘制数学图形,方法是什么

lewis 6年前 (2019-07-03) 阅读数 8 #技术
本篇内容介绍了“如何用Python绘制数学图形,方法是什么”的有关知识,在实际项目的操作过程或是学习过程中,不少人都会遇到这样的问题,接下来就让小编带大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!




今天主要给大家介绍如何用pyecharts画各种漂亮的数学图形

一、基本极坐标图

说简单点,基本极坐标图就是圆形的散点图(柱状图或折线图),代码如下:

importrandom
frompyechartsimportoptionsasopts
frompyecharts.chartsimportPolar
data=[(i,random.randint(1,100))foriinrange(101)]
c=(
Polar()
.add("",data,type_="scatter",label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts())
)
c.render_notebook()

数据data是1个列表,列表内的元素为元组,单个元组有2个数据,第一个数据为半径,第二个数据相当于角度,这样就好理解了

也可把type改为bar

c=(
Polar()
.add("",data,type_="bar",label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts())
)
c.render_notebook()

同理也可以改成折线(line)等,大家可以自己尝试一下。

二、极半径图

在极坐标中引入柱状图

frompyechartsimportoptionsasopts
frompyecharts.chartsimportPolar
frompyecharts.fakerimportFaker
c=(
Polar()
.add_schema(
radiusaxis_opts=opts.RadiusAxisOpts(data=Faker.week,#数据项
type_="category"#坐标轴类型,类目轴,适用于离散的类目数据,为该类型时必须通过 data 设置类目数据。
),
angleaxis_opts=opts.AngleAxisOpts(is_clockwise=True,#是否顺时针排布
max_=10#坐标轴刻度最大值
),
)
.add("A",[1,2,3,4,3,5,1],type_="bar")
.set_global_opts(title_opts=opts.TitleOpts())
)
c.render_notebook()

参数介绍

RadiusAxisOpts:极坐标系径向轴配置项

AngleAxisOpts:极坐标系角度轴配置项

三、画玫瑰花图

首先我们要引入数学中的sin函数,假设角度为theta,则长度为n(m+sin(theta)),n和m都为常量,那么元组(长度,角度)就可以在极坐标中确定一个点,把一系列的点放入列表中,并用折线图连接起来,就可以画出漂亮的数学图形。

importmath
importpyecharts.optionsasopts
frompyecharts.chartsimportPolar
data=[]
foriinrange(0,101):
theta=i/100*360
r=5*(1+math.sin(theta/180*math.pi))
data.append([r,theta])
c=(
Polar()
.add(series_name="line",data=data,label_opts=opts.LabelOpts(is_show=False))
.add_schema(
angleaxis_opts=opts.AngleAxisOpts(
start_angle=0,type_="value",is_clockwise=True
)
)
.set_global_opts(
tooltip_opts=opts.TooltipOpts(trigger="axis",axis_pointer_type="cross"),
title_opts=opts.TitleOpts(),
)
)
c.render_notebook()

AngleAxisOpts参数介绍:

start_angle:极坐标开始的角度

type_:坐标轴类型,'value'表示数值轴,适用于连续数据

is_clockwise:是否为顺时针

TooltipOpts参数介绍:

trigger:触发类型,'axis'表示坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用

axis_pointer_type:指示器类型,'cross'表示十字准星指示器

开始画玫瑰花图

importmath

frompyechartsimportoptionsasopts
frompyecharts.chartsimportPolar
data=[]
foriinrange(401):
t=i/180*math.pi
r=math.sin(9*t)
data.append([r,i])
c=(
Polar()
.add_schema(angleaxis_opts=opts.AngleAxisOpts(start_angle=0,min_=0))
.add("flower",data,label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts())
)
c.render_notebook()

是不是很漂亮,利用这种方法还可以画出更多漂亮的图形,赶紧动手试试吧!


以上就是关于“如何用Python绘制数学图形,方法是什么”的介绍了,感谢各位的阅读,如果大家想要了解更多相关的内容,欢迎关注博信,小编每天都会为大家更新不同的知识。
版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门