Python数据可视化 |
您所在的位置:网站首页 › seaborn词云图 › Python数据可视化 |
导读:Python数据可视化的库有很多,常见的有matplotlib、pyplot、Seaborn、pyecharts等。 pyecharts是一款将python与echarts相结合的数据可视化库,可用于制作 Echarts 图表,输出动态的可视化图表,。Echarts 是百度开源的一个数据可视化 JS 库。 以下基于win系统的Python3版本pyecharts0.5.10进行。 pyecharts中文官方文档:https://pyecharts.org/#/zh-cn/intro 本笔记中部分所列图形案例代码可在文末附的参考资源中找到。目录: pyecharts库安装: 常用国内镜像源: 基本语法(通过案例学习 ): 使用pyecharts-snapshot插件保存图形: 常用图形函数: 1、柱状图/条形图 [堆叠(柱状)图] Bar.add() 2、饼图/环形图/玫瑰图Pie.add() 3、折线图/面积图Line.add() 4、极坐标系Polar.add() 5、散点图/三维气泡图scatter.add() 6、带有闪烁动画的散点图EffectScatter.add() 7、箱体图Boxplot.add() 8、雷达图Rader.add() 9、漏斗图Funnel.add() 10、仪表盘Gauge.add() 11、词云图WordCloud.add() 12、地理坐标系Geo.add() 13、地图Map.add() 14、关系图Grap.add() 15.水球图Liquid.add() 16、平行坐标系Parallel.add() 17、桑基图Sankey.add() 18.自定义图形Grid.add() 19、图标叠加 Overlap.add() 20、同一网页按顺序展示多个图page.add() 21、时间线轮播多张图timeline 主题配置 (1)不改变主题参数 (2)更改主题 整个页面使用同一个主题: 基本配置 1.在Bar()函数里添加的参数 2.在add()函数里添加的参数 更多示例、参考学习资源/博客: pyecharts库安装:pyEcharts目前有0.5及以下版本和1.0以上版本,新版的pyecharts发生了许多变化。 最为明显的是以前调整变量的命令现在都发生了改变。网上大部分教程都是0.5及以下版本。这里使用清华镜像安装0.5.10 安装代码: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts==0.5.10 常用国内镜像源: 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.com/pypi/simple/ 中国科学技术大学大学:https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣:http://pypi.douban.com/simple/使用镜像源的安装方法: pip install -i https://pypi.doubanio.com/simple/ 包名 基本语法(通过案例学习 ): #导入柱状图bar from pyecharts import Bar #设置柱状图的主标题与副标题 bar=Bar("柱状图(标题)","一年的降水量和蒸发量(副标题)") #配置主题 bar.use_theme('dark') # 设置背景色为“暗色”。需要设置主题背景色时调用use_theme() 函数 #设置x轴数据 columns=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"] #设置y轴数据 data_1=[2.0,4.9,7.0,23.2,25.6,76.7,135.6,162.2,32.6,20.0,6.4,3.3] data_2=[2.6,5.9,9.0,26.4,28.7,70.7,175.6,182.2,48.7,18.8,6.0,2.3] #添加柱状图的数据及配置项 bar.add( "降水量",columns,data_1, #绘图关键信息:图例名称(注释==label),x轴数据,y轴数据 mark_line=["average"], #标记平均值 mark_point=["max","min"], #标记极值 is_stack =False, #数据堆叠,同个类目轴上系列配置相同的stack 值可以堆叠放置。is_stack = True表示堆叠在一起绘制堆叠(柱状)图 bar_category_gap ='20%', #类目轴柱状距离,默认20% is_more_utils=True #提供更多实用工具按钮 ) bar.add( "蒸发量",columns,data_2, mark_line=["average"], mark_point=["max","min"], is_stack =False, bar_category_gap ='20%', is_more_utils=True # is_convert = True , X 轴与 Y 轴交换,将柱状图改为条形图 ) # bar.print_echarts_options() # 该行打印配置项,方便调试时使用 #生成本地文件(默认为.html文件) bar.render('./picture1.html') #将html文档命名为picture1运行结果图: Python数据可视化——pyecharts学习笔记关键代码解读: add() : 主要方法,用于添加图表的数据和设置各种配置项 render():默认将会在根目录下生成一个 render.html 的文件,支持 path 参数,设置文件保存位置,如 render(r"e:\my_first_chart.html"),文件用浏览器打开。 print_echarts_options() :打印输出图表的所有配置项 show_config() :打印输出图表的所有配置项 Note: 可以按右边的下载按钮将图片下载到本地,如果想要提供更多实用工具按钮,请在 add() 中设置 is_more_utils 为 True 使用pyecharts-snapshot插件保存图形:如果想直接将图片保存为 png, pdf, gif 格式的文件,可以使用 pyecharts-snapshot。 使用该插件请确保你的系统上已经安装了 Nodejs 环境。 1._幻像: 康达安装幻象 2.* pyecharts 快照 : pip 安装 pyecharts 快照 2.调用 render 方法 bar.render(path='snapshot.png') 文件结尾可以为 svg/jpeg/png/pdf/gif。 请注意,svg 文件需要你在初始化 bar 的时候设置 renderer='svg'。 import random from pyecharts import Bar #from pyecharts import configure #configure(global_theme='vintage') X_AXIS = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"] bar = Bar("我的第一个图表", "这里是副标题") bar.use_theme("roma") bar.add("商家A", X_AXIS, [random.randint(10, 100) for _ in range(6)]) bar.add("商家B", X_AXIS, [random.randint(10, 100) for _ in range(6)]) bar.render() bar.render(path='snapshot.png') 常用图形函数: 1、柱状图/条形图 [堆叠(柱状)图] Bar.add() 2、饼图/环形图/玫瑰图Pie.add() Python数据可视化——pyecharts学习笔记 3、折线图/面积图Line.add() 4、极坐标系Polar.add() Python数据可视化——pyecharts学习笔记 Python数据可视化——pyecharts学习笔记 5、散点图/三维气泡图scatter.add() 6、带有闪烁动画的散点图EffectScatter.add() Python数据可视化——pyecharts学习笔记 7、箱体图Boxplot.add() 8、雷达图Rader.add() 9、漏斗图Funnel.add() 10、仪表盘Gauge.add() Python数据可视化——pyecharts学习笔记 11、词云图WordCloud.add() 12、地理坐标系Geo.add() from pyecharts import Geo data = [ ("海门", 9),("鄂尔多斯", 12),("招远", 12),("舟山", 12),("齐齐哈尔", 14),("盐城", 15), ("赤峰", 16),("青岛", 18),("乳山", 18),("金昌", 19),("泉州", 21),("莱西", 21), ("日照", 21),("胶南", 22),("南通", 23),("拉萨", 24),("云浮", 24),("梅州", 25)...] geo = Geo( "全国主要城市空气质量", "data from pm2.5", title_color="#fff", title_pos="center", width=1200, height=600, background_color='#404a59') attr, value = geo.cast(data) geo.add("", attr, value, visual_range=[0, 200], visual_text_color="#fff", symbol_size=15, is_visualmap=True) geo.show_config() geo.render() Python数据可视化——pyecharts学习笔记 from pyecharts import Geo data = [("海门", 9), ("鄂尔多斯", 12), ("招远", 12), ("舟山", 12), ("齐齐哈尔", 14), ("盐城", 15)] geo = Geo("全国主要城市空气质量", "data from pm2.5", title_color="#fff", title_pos="center", width=1200, height=600, background_color='#404a59') attr, value = geo.cast(data) geo.add("", attr, value, type="effectScatter", is_random=True, effect_scale=5) geo.show_config() geo.render() Python数据可视化——pyecharts学习笔记 Python数据可视化——pyecharts学习笔记 13、地图Map.add()【数据接口:pyecharts地图数据接口】安装下列地图数据包 pip install echarts-countries-pypkg pip install echarts-china-provinces-pypkg pip install echarts-china-cities-pypkg pip install echarts-china-counties-pypkg pip install echarts-china-misc-pypkg pip install echarts-united-kingdom-pypkgMap.add() 方法签名 add( name,attr,value, maptype = 'china', is_roam = True, is_map_symobol_show = True **kwargs )maptype -> str: 地图类型,支持China,world,北京,天津,上海,湖南,湖北,……363个二线城市 is_roam -> bool/str 是否开启鼠标缩放,漫游等,默认 True,若只想开启缩放/平移 设置scale/move 设置成 True 开启 is_map_symobol_show 是否显示地图标记,默认 True。 案例代码: from pyecharts import Map value = [155,10,66,78] attr = ['汕头市','汕尾市','揭阳市','肇庆市'] map = Map('广东地图示例',width = 1200,height = 600) map.add('',attr,value,maptype = '广东', is_visualmap = True, visual_text_color = '#000', is_label_show = True ) map.render('./html/map02.html') Python数据可视化——pyecharts学习笔记 14、关系图Grap.add() Python数据可视化——pyecharts学习笔记 15.水球图Liquid.add() Python数据可视化——pyecharts学习笔记 Python数据可视化——pyecharts学习笔记 16、平行坐标系Parallel.add() Python数据可视化——pyecharts学习笔记 17、桑基图Sankey.add() Python数据可视化——pyecharts学习笔记 18.自定义图形Grid.add()(以上下或左右形式绘图) Python数据可视化——pyecharts学习笔记 19、图标叠加 Overlap.add()(在同一个图里绘图) 利用第一张图表为基础,将后面的数据画在第一张图上。Line/ Bar/ Kline/ Scatter/ EffectScatter #EffectScatter + Line 叠加 from pyecharts import Line,EffectScatter,Overlap attr = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"] v1 = [2.0,4.9,7.0,23.2,25.6,76.7,135.6,162.2,170.1,178.3,175.4,176.5] line = Line('线性_闪烁图示例') line.add('',attr,v1,is_random = True) es = EffectScatter() es.add('',attr,v1,effect_scale=8) #闪烁 overlop = Overlap() overlop.add(line) #必须先添加line,在添加es overlop.add(es) overlop.render() Python数据可视化——pyecharts学习笔记 Python数据可视化——pyecharts学习笔记 20、同一网页按顺序展示多个图page.add() Python数据可视化——pyecharts学习笔记 21、时间线轮播多张图timeline Python数据可视化——pyecharts学习笔记 主题配置echarts 自带 dark 主题, pyecharts 也自带了 dark。 echarts-themes-pypkg 提供了 vintage, macarons, infographic, shine 和 roma 主题。 安装: pip install echarts-themes-pypkg (1)不改变主题参数 from pyecharts import Bar v1 = [20,25,35,24] str1 = ['回忆','生活','现实','失败'] bar1 = Bar('testBar_theme','Theme') bar1.add('test01',str1,v1,is_more_utils = True) bar1.render()显示效果: Python数据可视化——pyecharts学习笔记 (2)更改主题单个图换主题: from pyecharts import Bar v1 = [20,25,35,24] str1 = ['回忆','生活','现实','失败'] bar = Bar('testBar_theme','Theme') bar.add('test01',str1,v1,is_more_utils = True) # 更换单个图表主题 # 其他主题:vintage,macarons,infographic,shine,roma bar.use_theme("vintage") bar.render()显示效果: Python数据可视化——pyecharts学习笔记 整个页面使用同一个主题: from pyecharts import configure configure(global_theme='vintage')显示效果: Python数据可视化——pyecharts学习笔记 基本配置 1.在Bar()函数里添加的参数title -> str 主标题文本,支持 \n 换行,默认为 “” subtitle -> str 副标题文本,支持 \n 换行,默认为 “” width -> int 画布宽度,默认为 800(px) height -> int 画布高度,默认为 400(px) title_color -> str 主标题文本颜色,默认为 ‘#000’ subtitle_color -> str 副标题文本颜色,默认为 ‘#aaa’ background_color -> str 画布背景颜色,默认为 ‘#fff’ page_title -> str 指定生成的 html 文件中 标签的值。 默认为’Echarts’ renderer -> str 指定使用渲染方式,有 ‘svg’ 和 ‘canvas’ 可选,默认为 ‘canvas’。 3D 图仅能使用 ‘canvas’(canvas和svg区别请参考:https://blog.csdn.net/helloword_chen/article/details/49788309) 具体使用代码: from pyecharts import Bar v1 = [20,25,35,24] str1 = ['回忆','生活','现实','失败'] # 默认Bar()第一个参数为 主标题,第二个参数为副标题 bar1 = Bar('testBar_theme','Theme',page_title = '我的柱状图',title_color ='#3367FF',subtitle_color= '#3367FF',background_color = '#5AB5FF') bar1.add('vintage',str1,v1,is_more_utils = True) bar1.render(r"H:\PyCoding\FlaskCoding\Test_all\test0608\test01.html")显示效果 Python数据可视化——pyecharts学习笔记 2.在add()函数里添加的参数is_random -> bool 是否随机排列颜色列表,默认为 False label_color -> list 自定义标签颜色。 全局颜色列表,所有图表的图例颜色均在这里修改。 如 Bar 的柱状颜色,Line 的线条颜色等等。 is_label_show -> bool 是否正常显示标签,默认不显示。 标签即各点的数据项信息 label_pos -> str 标签的位置,Bar 图默认为’top’。 有’top’, ‘left’, ‘right’, ‘bottom’, ‘inside’,’outside’可选 label_text_color -> str 标签字体颜色,默认为 “#000” label_text_size -> int 标签字体大小,默认为 12 is_random -> bool 是否随机排列颜色列表,默认为 False label_formatter -> 功能 回调函数使用 def label_formatter(params): return params.value + ' [Good!]' (params: Object|Array) => string 参数 params 是 formatter 需要的单个数据集。格式如下: { componentType: 'series', // 系列类型 seriesType: string, // 系列在传入的 option.series 中的 index seriesIndex: number, // 系列名称 seriesName: string, // 数据名,类目名 name: string, // 数据在传入的 data 数组中的 index dataIndex: number, // 传入的原始数据项 data: Object, // 传入的数据值 value: number|Array, // 数据图形的颜色 color: string, }具体使用代码 from pyecharts import Bar def label_formatter(params): return params.data +'分' v1 = [20,25,35,24] attr = ['回忆','生活','现实','失败'] bar = Bar('testBar_color','Theme',page_title = '我的柱状图') # 注意 label_color的属性值为 list(列表) bar.add("test_X", attr, v1, is_label_show=True,label_color=['#5AB5FF'],label_text_color ='#3367FF',label_formatter=label_formatter) bar.render()显示效果 Python数据可视化——pyecharts学习笔记 更多示例、参考学习资源/博客:1、Python 数据可视化? 2、Python + PyEcharts——数据可视化 3、Python可视化神器——pyecharts的超详细使用指南! 4、【Python | 做更好的数据可视化】pyecharts进阶用法(一) 5、pyecharts学习笔记 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |