pyecharts 画图
文章目录
- 柱状图
- 饼状图
- 普通饼图
- 环形图
- 玫瑰图
- 散点图
- 多图绘制
- 桑基图
- 词云
pyecharts 用于 web 绘图,有较多的绘图种类,且代码量比较少。它是基于一个 Echarts 的库噶欧辰的,而Echarts 是百度开源的一个可视化 JavaScript 库。
pyecharts 可以将图片保存为多种格式,但需要插件,否则只能保存为 html 格式。安装 pyecharts 可以用:
pip install pyecharts
安装图片保存插件可用:
pip install pyecharts-snapshot
以及:
npm install -g phantomjs-prebuilt
柱状图
from pyecharts.charts import Bar
from pyecharts import options as opts
bar = Bar()
bar.add_xaxis(['毛衣','寸衫',"领带",'裤子',"风衣","高跟鞋","袜子"])
bar.add_yaxis('商家A',[114,55,27,101,125,27,105])
bar.add_yaxis('商家B',[57,134,101,22,69,90,129])
bar.set_global_opts(title_opts=opts.TitleOpts(title="某商场销售情况",subtitle='A和B公司'),toolbox_opts=opts.ToolboxOpts(is_show=True))
bar.set_series_opts(label_opts=opts.LabelOpts(position="top"))
bar.render_notebook() # 在 notebook 中展示
# bar.render(r"D:\桌面\snapshot.html") 生成 html 文件
bar = Bar()
bar.add_xaxis(['毛衣','寸衫',"领带",'裤子',"风衣","高跟鞋","袜子"])
bar.add_yaxis('商家A',[114,55,27,101,125,27,105])
bar.add_yaxis('商家B',[57,134,101,22,69,90,129])
bar.set_global_opts(title_opts=opts.TitleOpts(title="某商场销售情况",subtitle='A和B公司'),toolbox_opts=opts.ToolboxOpts(is_show=True))
bar.set_series_opts(label_opts=opts.LabelOpts(position="right"))
bar.reversal_axis()
bar.render_notebook()
饼状图
普通饼图
from pyecharts.charts import Pie
from pyecharts import options as opts
L1 = ["教授","副教授","讲师","助教","其他"]
num = [20,30,10,12,8]
c = Pie()
c.add("",[list(z) for z in zip(L1,num)])
c.set_global_opts(title_opts = opts.TitleOpts(title="Pie-职称比例"),toolbox_opts = opts.ToolboxOpts(is_show=True))
c.set_series_opts(label_opts = opts.LabelOpts(formatter="{b}:{c}"))
c.render_notebook()
环形图
from pyecharts.charts import Pie
from pyecharts import options as opts
c = Pie()
L1 = ["教授","副教授","讲师","助教","其他"]
num = [20,30,10,12,8]
c.add("",[list(z) for z in zip(L1,num)],radius=["40%","75%"])
c.set_global_opts(title_opts=opts.TitleOpts(title='Pie圆环'),legend_opts=opts.LegendOpts(orient='vertical',pos_top='5%',pos_left="2%"))
c.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{c}"))
c.render_notebook()
玫瑰图
from pyecharts.charts import Pie
from pyecharts import options as opts
c = Pie()
L1 = ["教授","副教授","讲师","助教","其他"]
num = [20,30,10,12,8]
c.add("",[list(z) for z in zip(L1,num)],radius=["40%","75%"],rosetype="area")
c.set_global_opts(title_opts = opts.TitleOpts(title="玫瑰图"),toolbox_opts = opts.ToolboxOpts(is_show=True),legend_opts=opts.LegendOpts(orient='vertical',pos_top="5%",pos_left="2%"))
c.set_series_opts(label_opts=opts.LabelOpts(formatter='{b}:{c}'))
c.render_notebook()
散点图
from pyecharts.charts import Scatter
from pyecharts import options as opts
s = Scatter()
week = ['Mon','Thur','Wed','Tues','Fri','Sar','Sun']
s.add_xaxis(week)
s.add_yaxis('商家A',[11,22,33,44,55,66,77])
s.add_yaxis('商家B',[0,10,20,30,40,50,60])
s.set_global_opts(title_opts=opts.TitleOpts(title='散点图'),toolbox_opts = opts.ToolboxOpts(is_show=True),legend_opts = opts.LegendOpts(orient='vertical',pos_top='5%',pos_left="2%"))
s.set_series_opts(label_opts=opts.LabelOpts(position='top'))
s.render_notebook()
多图绘制
如果要在一张图中绘制两幅图,需要用到 网格:
from pyecharts import options as opts
from pyecharts.charts import Bar,Line,Grid
A = ["小米","三星","华为","苹果","魅族","VIVO","OPPO"]
CA = [100,125,87,90,78,98,118]
B = ["草莓","芒果","葡萄","雪梨","西瓜","柠檬","车厘子"]
CB = [78,95,120,102,88,108,98]
bar = Bar()
bar.add_xaxis(A)
bar.add_yaxis("商家A",CA)
bar.add_yaxis("商家B",CB)
bar.set_global_opts(title_opts=opts.TitleOpts(title="多图绘制"))
bar.render_notebook()line = Line()
line.add_xaxis(B)
line.add_yaxis("商家A",CA)
line.add_yaxis("商家B",CB)
line.set_global_opts(title_opts=opts.TitleOpts(title="2图",pos_top="48%"),legend_opts=opts.LegendOpts(pos_top="48%"))
line.render_notebook()grid = Grid()
grid.add(bar,grid_opts=opts.GridOpts(pos_bottom="60%"))
grid.add(line,grid_opts=opts.GridOpts(pos_top="60%"))
grid.render_notebook()
桑基图
一般用于分析原因,流量等:
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Sankeydf = pd.DataFrame({'性别':['男','男','男','女','女','女'],"熬夜原因":['打游戏','看剧','加班','打游戏','看剧','加班'],'人数':[40,20,40,8,25,36]})
display(df)
def transForm(df):nodes = []links = []for i in range(2):values = df.iloc[:,i].unique()for value in values:dic = {}dic['name']=valuenodes.append(dic)for i in df.values:dic = {}dic['source'] = i[0]dic['target'] = i[1]dic['value'] = i[2]links.append(dic)return nodes,linksnodes,links = transForm(df)
print(nodes)
print(links)
sankey = Sankey()
sankey.add("桑基图",nodes,links,linestyle_opt = opts.LineStyleOpts(opacity=0.2,curve=0.5,color="source"),label_opts = opts.LabelOpts(position='right'))
sankey.set_global_opts(title_opts=opts.TitleOpts(title='桑基图示例'))
sankey.render_notebook()
词云
from pyecharts import options as opts
from pyecharts.charts import Page,WordCloud
from pyecharts.globals import SymbolType
words = [("牛肉面",7800),("黄河",6181),("《读者》",4386),("水晶饺子",3055),("雨燕中学",4244),("碣石文化广场",2055),("玄武山",8067),("华工",1868),("十一孔",3483),("宋瘄寮",1122),("石洲",980),("红白",1111),("Beautyleg",3000),("Winnie",6666),("toxic_妲己",2222),("绯月樱",4444)
]
c = WordCloud()
c.add("",words,word_size_range=[10,70])
c.set_global_opts(title_opts=opts.TitleOpts(title="词云"))
c.render_notebook()
pyecharts 画图相关推荐
- python 之pyecharts画图:最全地图,词云图,世界地图,省份图,区县图
python最全画地图,可视化数据,pyecharts画图: https://www.jianshu.com/p/e0b2851672cd Python强大的pyecharts绘画优美图形<二& ...
- Pyecharts画图运行后没有显示图片
Pyecharts画图运行后没有显示图片 1.显示 pyecharts默认是用html展示图片. 将下图命令的bar替换成自己的图形名称,在设置的路径下打开改html链接即可查看. bar.rende ...
- python pyecharts 画图 饼图柱状图
# encoding:utf-8 # 导入库------------------------------- import requests import pandas as pd import mat ...
- python之pyecharts画图
pyecharts简介 Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可.而 Python 是一门富有表达力的语言,很适合用于数据处理.当数据分 ...
- python pyecharts 画图修改kline颜色,自定义MarkPointOpts
markpoint_opts=opts.MarkPointOpts(data=[# opts.MarkPointItem(type_="max", name="最大值&q ...
- Pyecharts坑之一---“画图不显示“
关于Pyecharts画图,图却不显示出来的问题,出问题可能有好几种原因.可能是版本问题.包没下全等等,在这边说的是一个很坑的问题,博主因为这个白白浪费了好几个小时和精力. 最近在做数据挖掘课设,用p ...
- pyecharts与mysql_pyecharts画图总结
pyecharts 画图归纳 将本地文件导入到Pyecharts: test = open(filename, 'r') data = test.readlines() test.close() 如果 ...
- pyecharts本地文件_pyecharts画图总结
pyecharts 画图归纳 将本地文件导入到Pyecharts: test = open(filename, 'r') data = test.readlines() test.close() 如果 ...
- 如何让 PPT 像 PyeCharts 一样炫酷?
作者 | 周志鹏 责编 | 郭 芮 这几天,群里有些小伙伴被一个奇怪的需求困住: "pyecharts作图既炫酷,又交互.但是,这个炫酷的效果往往只存在于分析师自己的编辑器中,充其量也就 ...
- python科学坐标系绘制分析_python数据可视化案例——平行坐标系(使用pyecharts或pandas)...
平行坐标是可视化高维几何和分析多元数据的常用方法. 为了在n维空间中显示一组点,绘制由n条平行线组成的背景,通常是垂直且等距的.所述的点N 维空间被表示为折线与顶点在平行的轴线: 第i 轴上顶点的位置 ...
最新文章
- Android 获取apk签名的fingerprint
- maven自动化部署插件sshexec-maven-plugin
- 调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试调试
- vue lang_新疆人的“lang”是“浪”吗?
- 360云计算|2019年度精选文章
- 2021-07-05 操作系统实操相关知识点笔记--中断、异常的响应和处理
- 在taobao上安家了,欢迎大家来选购呀
- 使用tinymini210开发远程的温度监控系统,实现C#和安卓客户端显示数据和控制
- 用于登录的mysql语句_mysql常用语句
- 地产行业主数据建设项目思考
- C++SOCKET面试题附答案
- C#进阶高级程序员开发必知必会:泛型的定义实操案例: 实现堆栈的后进先出功能
- 徐静蕾2008十大青春语录
- N皇后问题---线性方程处理
- 黑帽SEO的常见操作手法解析
- Jquery来制作简易版的留言板.
- 网络工具netstat与ss
- RedHat7使用yum源安装依赖包
- 行业分析-全球与中国AI支援X光影像解决方案市场现状及未来发展趋势
- 代表们的烦恼,骚扰电话终将被整治?