利用Python绘制好看的玫瑰花图

 更新时间:2022年05月24日 10:25:27   作者:小dull鸟  
玫瑰花图是节理统计方式之一,方法简便,形象醒目,比较清楚地反映出主要节理的方向,有助于分析区域构造。本文将用Python绘制好看的玫瑰花图,感兴趣的可以了解一下

今天主要给大家介绍如何用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基础教程之异常处理详解

    Python基础教程之异常处理详解

    Python的异常处理能力是很强大的,它有很多内置异常,可向用户准确反馈出错信息,下面这篇文章主要给大家介绍了关于Python基础教程之异常处理的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • Python Flask框架实现小红书图片无水印解析下载

    Python Flask框架实现小红书图片无水印解析下载

    这篇文章主要为大家介绍了Python Flask框架实现小红书图片无水印解析下载,需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • python numpy.power()数组元素求n次方案例

    python numpy.power()数组元素求n次方案例

    这篇文章主要介绍了python numpy.power()数组元素求n次方案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 基于Python制作股票交易计算器

    基于Python制作股票交易计算器

    这篇文章主要为大家详细介绍了如何利用Python和Html分别制作一个股票交易计算器,文中的示例代码简洁易懂,有需要的小伙伴可以参考一下
    2024-12-12
  • Python四大金刚之列表详解

    Python四大金刚之列表详解

    这篇文章主要介绍了Python的列表,小编觉得这篇文章写的还不错,需要的朋友可以参考下,希望能够给你带来帮助
    2021-10-10
  • Python绘画好看的星空图

    Python绘画好看的星空图

    这篇文章主要介绍了Python绘画好看的星空图,文章内容介绍详细,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-03-03
  • Python实现冒泡排序算法的完整实例

    Python实现冒泡排序算法的完整实例

    这篇文章主要给大家介绍了关于Python实现冒泡排序算法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Python的 元组(Tuple)详解

    Python的 元组(Tuple)详解

    Python的元组与列表类似,不同之处在于元组的元素不能修改,元组使用小括号,列表使用方括号,元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可
    2021-10-10
  • pytorch中的numel函数用法说明

    pytorch中的numel函数用法说明

    这篇文章主要介绍了pytorch中的numel函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • 基于Python实现人脸识别相似度对比功能

    基于Python实现人脸识别相似度对比功能

    人脸识别技术是一种通过计算机对人脸图像进行分析和处理,从而实现自动识别和辨认人脸的技术,随着计算机视觉和模式识别领域的快速发展,人脸识别技术取得了长足的进步,本文给大家介绍了基于Python实现人脸识别相似度对比功能,感兴趣的朋友可以参考下
    2024-01-01

最新评论