pyechart练习(一):画图小练习

1、使用Map制作全球人口分布图

import math
import osimport matplotlib.pyplot as plt
from pyecharts.charts import Map
from pyecharts import options as opts# 只有部分国家的人口数据
POPULATION = [["China", 1420062022], ["India", 1368737513], ["United States", 329093110], ["Indonesia", 269536482], \
["Brazil", 212392717], ["Pakistan", 204596442], ["Nigeria", 200962417], ["Bangladesh", 168065920], \
["Russia", 143895551], ["Mexico", 132328035], ["Japan", 126854745], ["Ethiopia", 110135635], \
["Philippines", 108106310], ["Egypt", 101168745], ["Vietnam", 97429061], ["DR Congo", 86727573], \
["Turkey", 82961805], ["Iran", 82820766], ["Germany", 82438639], ["Thailand", 69306160], ["Niue", 1628], \
["United Kingdom", 66959016], ["France", 65480710], ["Tanzania", 60913557], ["Italy", 59216525], \
["South Africa", 58065097], ["Myanmar", 54336138], ["Kenya", 52214791], ["South Korea", 51339238], \
["Colombia", 49849818], ["Spain", 46441049], ["Uganda", 45711874], ["Argentina", 45101781], \
["Ukraine", 43795220], ["Algeria", 42679018], ["Sudan", 42514094], ["Iraq", 40412299], \
["Poland", 38028278], ["Canada", 37279811], ["Afghanistan", 37209007], ["Morocco", 36635156], \
["Saudi Arabia", 34140662], ["Peru", 32933835], ["Uzbekistan", 32807368], ["Venezuela", 32779868], \
["Malaysia", 32454455], ["Angola", 31787566], ["Mozambique", 31408823], ["Ghana", 30096970], \
["Nepal", 29942018], ["Yemen", 29579986], ["Madagascar", 26969642], ["North Korea", 25727408], \
["Côte d'Ivoire", 25531083], ["Cameroon", 25312993], ["Australia", 25088636], ["Tokelau", 1340],
["Holy See", 799]]# 鼠标不控制缩放、不显示小红点、不显示图表标签
attrs = []
values = []
for pop in POPULATION:
attrs.append(pop[0])
values.append(pop[1])
map = Map()
map.add('全球人口分布', POPULATION, maptype='world', is_roam=False, is_map_symbol_show=False,
label_opts=opts.LabelOpts(is_show=False))
map.set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=1500000000))
map.render('a.html')
os.system("../render.html")

2、双Y轴图

x_data = ['Apple', 'HuaWei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu']
y_data_1 = [123, 153, 89, 107, 98, 23]
y_data_2 = [13, 15, 9, 17, 8, 6]from pyecharts.charts import Bar, Lineb = Bar()
b.add_xaxis(x_data)
b.add_yaxis('重庆门店数', y_data_2)
b.extend_axis(yaxis=opts.AxisOpts(name='全国门店数', position='right'))
b.extend_axis(yaxis=opts.AxisOpts(name='重庆门店数', position='left'))l = Line()
l.add_xaxis(x_data)
l.add_yaxis('全国门店数', y_data_1, yaxis_index=1)
b.overlap(l)
b.render('b.html')
# os.system('../render.html')

3、叠加多图

x_data, data_1, data_2 = [], [], []
for i in range(50):
data_1.append((math.sin(i / 5) * (i / 5 - 10) + i / 6) * 5)
data_2.append((math.sin(i / 5) * (i / 5 + 10) + i / 6) * 3)
x_data.append(i + 1)b1 = Bar()
b1 = Bar(init_opts=opts.InitOpts(width='1000px',height='600px',\
bg_color='#08263a'))#画布大小为1000px*600px,背景颜色#08263a
b1.add_xaxis(x_data)
b1.add_yaxis('', data_1, gap='-100%', label_opts=opts.LabelOpts(is_show=False),
itemstyle_opts=opts.ItemStyleOpts(opacity=0.3))b2 = Bar()
b2.add_xaxis(x_data)
b2.add_yaxis('', data_2, gap='-100%', label_opts=opts.LabelOpts(is_show=False),
itemstyle_opts=opts.ItemStyleOpts(opacity=0.3))
b1.overlap(b2)
# 不显示x轴;y轴标签颜色为#4a657a,不显示刻度线,坐标轴轴线颜色为#808080
# 使用视觉组件,关闭视觉组件映射配置组件的显示,最大值设置为50,应用数据维度为0(即通过x轴数据项映射颜色)
b1.set_global_opts(visualmap_opts=opts.VisualMapOpts(is_show=False,
range_color=['#4a657a', '#308e92', '#b1cfa5', '#f5d69f', '#f5898b',
'#ef5055'],
max_=50,
dimension=0,
type_='color'),
xaxis_opts=opts.AxisOpts(is_show=False),
yaxis_opts=opts.AxisOpts(axistick_opts=opts.AxisTickOpts(is_show=False),
axislabel_opts=opts.LabelOpts(color='#08263a'),
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color='#808080'))))
b1.render('c.html')
# os.system('../render.html')

4、渐变堆积面积图

 要达到的效果:堆叠、渐变配色、面积图的实现

from pyecharts.commons.utils import JsCodex_data = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
y1 = [140, 232, 101, 264, 90, 340, 250]
y2 = [120, 282, 111, 234, 220, 340, 310]
y3 = [320, 132, 201, 334, 190, 130, 220]
y4 = [220, 402, 231, 134, 190, 230, 120]
y5 = [220, 302, 181, 234, 210, 290, 150]l = Line()
l.add_xaxis(x_data)
# is_symbol_show:是否显示symbol
# is_smooth:是否平滑曲线
l.add_yaxis('line1', y1, stack='s1', is_symbol_show=False, is_smooth=True,
linestyle_opts=opts.LineStyleOpts(color='#F3FFD6', opacity=0.5),
areastyle_opts=opts.AreaStyleOpts(color=
JsCode("new echarts.graphic.LinearGradient(0, 0, 0, 1, "
"[{offset:0,color:'#F3FFD6'},{offset:1,color:'#2E7A09'}],false)"),
opacity=0.5))l.add_yaxis('line2', y2, stack='s1', is_symbol_show=False, is_smooth=True,
linestyle_opts=opts.LineStyleOpts(color='#D3DDF9', opacity=0.5),
areastyle_opts=opts.AreaStyleOpts(color=
JsCode("new echarts.graphic.LinearGradient(0, 0, 0, 1, "
"[{offset:0,color:'#D3FDD9'},{offset:1,color:'#2E7A09'}],false)"),
opacity=0.5))l.add_yaxis('line3', y3, stack='s1', is_symbol_show=False, is_smooth=True,
linestyle_opts=opts.LineStyleOpts(color='#FFFCCF', opacity=0.5),
areastyle_opts=opts.AreaStyleOpts(color=
JsCode("new echarts.graphic.LinearGradient(0, 0, 0, 1, "
"[{offset:0,color:'#FFFCCF'},{offset:1,color:'#2E7A09'}],false)"),
opacity=0.5))l.add_yaxis('line4', y4, stack='s1', is_symbol_show=False, is_smooth=True,
linestyle_opts=opts.LineStyleOpts(color='#D3E9FF', opacity=0.5),
areastyle_opts=opts.AreaStyleOpts(color=
JsCode("new echarts.graphic.LinearGradient(0, 0, 0, 1, "
"[{offset:0,color:'#D3E9FF'},{offset:1,color:'#2E7A09'}],false)"),
opacity=0.5))l.set_global_opts(title_opts=opts.TitleOpts(title='渐变堆积面积图'),
xaxis_opts=opts.AxisOpts(boundary_gap=False))
l.render('d.html')
# os.system('../render.html')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/107798.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI文本创作在百度App发文的实践

作者 | 内容生态端团队 导读 大语言模型(LLM)指包含数百亿(或更多)参数的语言模型,这些模型通常在大规模数据集上进行训练,以提高其性能和泛化能力。在内容创作工具接入文心一言AI能力后,可以为…

大数据课程L2——网站流量项目的算法分析数据处理

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解网站流量项目的算法分析; ⚪ 了解网站流量项目的数据处理; 一、项目的算法分析 1. 概述 网站流量统计是改进网站服务的重要手段之一,通过获取用户在网站的行为,可以分析出哪些内…

学习Bootstrap 5的第八天

目录 加载器 彩色加载器 实例 闪烁加载器 实例 加载器大小 实例 加载器按钮 实例 分页 分页的基本结构 实例 活动状态 实例 禁用状态 实例 分页大小 实例 分页对齐 实例 面包屑(Breadcrumbs) 实例 加载器 彩色加载器 在 Bootstr…

【css | loading】好看的loading特效

示例&#xff1a; https://code.juejin.cn/pen/7277764394618978365 html <div class"pl"><div class"pl__dot"></div><div class"pl__dot"></div><div class"pl__dot"></div><div c…

科技云报道:青云科技为何成为IDC云转型的“神队友”?

科技云报道原创。 如今随着出海企业数量的不断增长&#xff0c;跨境业务也逐渐从蓝海变红海&#xff0c;从“价格战”到“智能战”。 一个明显的变化&#xff0c;来自企业对于出海效率的提升。《埃森哲2022中国企业国际化研究》指出&#xff0c;企业想要在出海浪潮中取胜&…

顺序表详解(接口详解)

顺序表&#xff08;接口详解&#xff09;&#x1f996; 1.线性表2.顺序表2.1 概念及结构 3.接口的实现3.1 定义SeqList3.2 初始化3.3 销毁3.4 打印3.5 扩容3.6 数据插入1.头插2.尾插3.下标插入 3.7 数据删除1.头删2.尾删3.下表删除 3.8 查询数据3.9 数据修改 4.顺序表存在的部分…

工厂设计模式

github&#xff1a;GitHub - QiuliangLee/pattern: 设计模式 概念 根据产品是具体产品还是具体工厂可分为简单工厂模式和工厂方法模式&#xff0c;根据工厂的抽象程度可分为工厂方法模式和抽象工厂模式。 简单工厂模式、工厂方法模式和抽象工厂模式有何区别&#xff1f; - 知…

【SpringCloudAlibaba】Seata分布式事务使用

文章目录 分布式事务问题示例Seata概述、官网一个典型的分布式事务过程处理过程全局GlobalTransactional分布式交易解决方案流程图 Seata安装下载修改conf目录下的application.yml配置文件dashboard demo 分布式事务问题示例 单体应用被拆分成微服务应用&#xff0c;原来的三个…

【微信小程序开发】一文学会使用视图组件进行界面设计

引言 在小程序开发中&#xff0c;界面设计是非常重要的一环。本文将介绍如何学习使用小程序的视图组件进行界面设计&#xff0c;并提供代码示例。 文章目录 引言1. 小程序视图组件简介2. 视图组件的使用方法2.1. 组件的引入2.2. 组件的使用2.3. 组件的事件绑定2.4. 组件的样式设…

微火资讯快报:共享wifi项目怎么样?

共享WiFi项目一直以来都是一个热门的创业方向&#xff0c;它通过将公共场所的WiFi热点转换成二维码&#xff0c;使用户扫码就可轻松地连接并使用网络&#xff0c;而商家也可以通过该平台实现广告宣传、营销推广等功能。下面就让我们来详细了解一下共享WiFi项目的各个方面。 市场…

推荐10个AI人工智能技术网站(一键收藏,应有尽有)

1、Mental AI MentalAI&#xff08;https://ai.ciyundata.com/&#xff09;是一种基于文心大模型的知识增强大语言模型&#xff0c;专注于自然语言处理&#xff08;NLP&#xff09;领域的技术研发。它具备强大的语义理解和生成能力&#xff0c;能够处理各种复杂的自然语言任务。…

算法通关村第十九关:白银挑战-动态规划高频问题

白银挑战-动态规划高频问题 1. 最少硬币数 LeetCode 322 https://leetcode.cn/problems/coin-change/description/ 思路分析 尝试用回溯来实现 假如coins[2,5,7]&#xff0c;amount27&#xff0c;求解过程中&#xff0c;每个位置都可以从[2,5,7]中选择&#xff0c;因此可以…