今天主要给大家介绍如何用pyecharts画各种漂亮的数学图形
一、基本极坐标图
说简单点,基本极坐标图就是圆形的散点图(柱状图或折线图),代码如下:
import?random from?pyecharts?import?options?as?opts from?pyecharts.charts?import?Polar data?=?[(i,?random.randint(1,?100))?for?i?in?range(101)] c?=?( ????Polar() ????.add("",?data,?type_="scatter",?label_opts=opts.LabelOpts(is_show=False)) ????.set_global_opts(title_opts=opts.TitleOpts(title="基本极坐标图")) ) 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(title="基本极坐标图")) ) c.render_notebook()
同理也可以改成折线(line)等,大家可以自己尝试一下。
二、极半径图
在极坐标中引入柱状图
from?pyecharts?import?options?as?opts from?pyecharts.charts?import?Polar from?pyecharts.faker?import?Faker 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(title="Polar-RadiusAxis")) ) c.render_notebook()
参数介绍
RadiusAxisOpts:极坐标系径向轴配置项
AngleAxisOpts:极坐标系角度轴配置项
三、画玫瑰花图
首先我们要引入数学中的sin函数,假设角度为theta,则长度为n(m+sin(theta)),n和m都为常量,那么元组(长度,角度)就可以在极坐标中确定一个点,把一系列的点放入列表中,并用折线图连接起来,就可以画出漂亮的数学图形。
import?math import?pyecharts.options?as?opts from?pyecharts.charts?import?Polar data?=?[] for?i?in?range(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(title="极坐标双数值轴"), ????) ) c.render_notebook()
AngleAxisOpts参数介绍:
start_angle:极坐标开始的角度
type_:坐标轴类型,'value'表示数值轴,适用于连续数据
is_clockwise:是否为顺时针
TooltipOpts参数介绍:
trigger:触发类型,'axis'表示坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用
axis_pointer_type:指示器类型,'cross'表示十字准星指示器
开始画玫瑰花图
import?math from?pyecharts?import?options?as?opts from?pyecharts.charts?import?Polar data?=?[] for?i?in?range(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(title="Polar-Flower")) ) c.render_notebook()
是不是很漂亮,利用这种方法还可以画出更多漂亮的图形,赶紧动手试试吧!
以上就是利用Python绘制好看的玫瑰花图的详细内容,更多关于Python玫瑰花图的资料请关注其它相关文章!
查看更多关于利用Python绘制好看的玫瑰花图的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did17050