Python—实训day11—Pyecharts绘图
1繪圖邏輯
(1)選擇圖表類型;
(2)添加數據;
(3)設置全局變量;
(4)顯示及保存圖表。
1.1圖表類型
from pyecharts.charts import *
1.2添加數據
散點圖、折線圖等二維數據圖形可通過 .add_xaxis(xaxis_data=x)和.add_yaxis(series_name='', y_axis=y)方法設置。
餅圖等一維圖形可通過.add(series_name=‘’, data_pair=[(i, j)for i, j in zip(lab, num)])方法設置參數。
1.3顯示、保存圖表
- .get_options() # 該行只為了查看配置項,方便調試時使用
- .render():默認將會在當前目錄下生成一個 render.html 的文件,支持 path 參數,設置文件保存位置,如 render(r"e:\my_first_chart.html"),文件用瀏覽器打開。
- .Jupyter Notebook() 直接調用 render_notebook ()隨時隨地渲染圖表
1.4全局配置組件:定制圖表
使用 options 配置項,在 pyecharts 中,一切皆 Options。
全局配置項可通過 set_global_options 方法設置。
2散點圖
| #==================1散點圖 from pyecharts.charts import Scatter #pip install pyecharts -i https://mirrors.aliyun.com/pypi/simple import numpy as np import pyecharts.options as opts x = np.linspace(0, 10, 50) y = np.sin(x) #------------1.1繪制簡單散點圖-------------------- #----第一步:選擇圖表(散點圖) scatter = Scatter() #----第二步:添加數據 scatter.add_xaxis(xaxis_data=x) #添加x軸數據 scatter.add_yaxis(series_name='', y_axis=y) #添加y軸數據 #----第三步:保存圖表 scatter.render() #------------1.2豐富圖形-------------------- #第一步:選擇圖表(散點圖) scatter = Scatter() #第二步:添加數據 scatter.add_xaxis(xaxis_data=x) #添加x軸數據 scatter.add_yaxis(series_name='y=sin(x)', y_axis=y, label_opts=opts.LabelOpts(is_show=False)) #添加y軸數據。label_opts=opts.LabelOpts(is_show=False)表隱藏數值標簽 #第三步:全局配置項 scatter.set_global_opts(title_opts=opts.TitleOpts(title='散點圖'), #添加標題 tooltip_opts=opts.TooltipOpts(axis_pointer_type='cross') #設置提示框浮層 ) #第四步:保存圖表 scatter.render() |
3折線圖
| #==================2折線圖 from pyecharts.charts import Line #-------2.1繪制簡單折線圖-------------------- #----第一步:選擇圖表(折線圖) line = Line() #----第二步:添加數據 line.add_xaxis(xaxis_data=x) #添加x軸數據 line.add_yaxis(series_name='y=sin(x)', y_axis=y) #添加y軸數據 #----第三步:保存圖表 line.render(r'F:\Desktop\a.html') #---------2.2豐富圖形-------------------- y1 = np.cos(x) #----第一步:選擇圖表(折線圖) line = Line() #----第二步:添加數據 line.add_xaxis(xaxis_data=x) #添加x軸數據 line.add_yaxis(series_name='y=sin(x)', y_axis=y, label_opts=opts.LabelOpts(is_show=False)) #添加y變量數據 line.add_yaxis(series_name='y=cos(x)', y_axis=y1) #添加y1變量數據 #----第三步:設置全局配置項 line.set_global_opts(title_opts=opts.TitleOpts(title='折線圖'), #添加標題 tooltip_opts=opts.TooltipOpts(axis_pointer_type='cross') #設置提示框浮層 ) #----第四步:保存圖表 line.render(r'F:\Desktop\a.html') |
4柱狀圖
| #==================3柱狀圖 from pyecharts.charts import Bar num = [100, 120, 150, 200, 350] label = ['星期一', '星期二', '星期三', '星期四', '星期五'] #-------3.1繪制簡單柱狀圖-------------------- #----第一步:選擇圖表(柱狀圖) bar = Bar() #----第二步:添加數據 bar.add_xaxis(xaxis_data=label) #添加x軸數據 bar.add_yaxis(series_name='銷售額', y_axis=num) #添加y軸數據 #----第三步:保存圖表 bar.render(r'F:\Desktop\a.html') #-------3.2繪制多個數據柱狀圖-------------------- num1 = [120, 150, 200, 180, 160] #----第一步:選擇圖表(柱狀圖) bar = Bar() #----第二步:添加數據 bar.add_xaxis(xaxis_data=label) #添加x軸數據 bar.add_yaxis(series_name='第一周銷售額', y_axis=num) #添加num變量數據 bar.add_yaxis(series_name='第二周銷售額', y_axis=num1) #添加num1變量數據 #----第三步:保存圖表 bar.render(r'F:\Desktop\a.html') |
5餅圖
| #==================4餅圖 from pyecharts.charts import Pie #----第一步:選擇圖表(餅圖) pie = Pie() #----第二步:添加數據 pie.add(series_name='', data_pair=[(i, j) for i,j in zip(label, num)]) #----第三步:保存圖表 pie.render(r'F:\Desktop\b.html') |
6箱線圖
| #==================5箱線圖 #-------5.1繪制簡單箱線圖-------------------- from pyecharts.charts import Boxplot box = Boxplot() box.add_xaxis(xaxis_data=['第一周銷售額']) box.add_yaxis(series_name='銷售額', y_axis=box.prepare_data([num])) #box.prepare_data表轉換數據 box.render(r'F:\Desktop\b.html') #-------5.2多個數據繪制箱線圖-------------------- box = Boxplot() box.add_xaxis(xaxis_data=['第一周銷售額', '第二周銷售額']) box.add_yaxis(series_name='銷售額', y_axis=box.prepare_data([num, num1])) box.render(r'F:\Desktop\b.html') |
7熱力圖
| #==============6熱力圖 from pyecharts.charts import HeatMap import random x = ["12a", "1a", "2a", "3a", "4a", "5a", "6a", "7a", "8a", "9a", "10a", "11a","12p", "1p", "2p", "3p", "4p", "5p", "6p", "7p", "8p", "9p", "10p", "11p"] y = ["Saturday", "Friday", "Thursday", "Wednesday", "Tuesday", "Monday", "Sunday"] data = [[i, j, random.randint(0, 50)] for i in range(len(x)) for j in range(len(y))] heatmap = HeatMap() heatmap.add_xaxis(xaxis_data=x) heatmap.add_yaxis(series_name='', yaxis_data=y, value=data) #y軸數據使用參數yaxis_data設置。value設置系列數據項,其實就是顏色深淺。 heatmap.render(r'F:\Desktop\b.html') |
8詞云圖
| #============7詞云圖 from pyecharts.charts import WordCloud name =['Sam S Club', 'Macys', 'Amy Schumer', 'Jurassic World', 'Charter Communications', 'Chick Fil A', 'Planet Fitness', 'Pitch Perfect', 'Express', 'Home', 'Johnny Depp', 'Lena Dunham', 'Lewis Hamilton', 'KXAN', 'Mary Ellen Mark', 'Farrah Abraham', 'Rita Ora', 'Serena Williams', 'NCAA baseball tournament', 'Point Break'] value =[10000, 6181, 4386, 4055, 2467, 2244, 1898, 1484, 1112, 965, 847, 582, 555, 550, 462, 366, 360, 282, 273, 265] wordcloud = WordCloud() wordcloud.add(series_name='', data_pair=[(i, j) for i,j in zip(name,value)]) wordcloud.render(r'F:\Desktop\b.html') |
9并行多圖
| #============8并行多圖 #-------8.1上下并行-------------------- from pyecharts.charts import Scatter, Line, Grid import numpy as np import pyecharts.options as opts x = np.linspace(0, 10, 50) y = np.sin(x) y1 = np.cos(x) #散點圖 scatter = Scatter() scatter.add_xaxis(xaxis_data=x) scatter.add_yaxis(series_name='', y_axis=y, label_opts=opts.LabelOpts(is_show=False)) #折線圖 line = Line() line.add_xaxis(xaxis_data=x) line.add_yaxis(series_name='', y_axis=y1, label_opts=opts.LabelOpts(is_show=False)) grid = Grid() grid.add(scatter, grid_opts=opts.GridOpts(pos_top='60%')) grid.add(line, grid_opts=opts.GridOpts(pos_bottom='60%')) grid.render(r'F:\Desktop\b.html') #-------8.2左右并行-------------------- grid = Grid() grid.add(scatter, grid_opts=opts.GridOpts(pos_left='55%')) grid.add(line, grid_opts=opts.GridOpts(pos_right='55%')) grid.render(r'F:\Desktop\b.html') #-------8.3疊加圖表-------------------- #柱狀圖 bar = Bar() bar.add_xaxis(xaxis_data=label) #添加x軸數據 bar.add_yaxis(series_name='第一周銷售額', y_axis=num) #添加y軸數據 #折線圖 line = Line() line.add_xaxis(xaxis_data=range(len(num1))) line.add_yaxis(series_name='第二周銷售額', y_axis=num1) bar.overlap(line) bar.render(r'F:\Desktop\b.html') |
總結
以上是生活随笔為你收集整理的Python—实训day11—Pyecharts绘图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python—实训day10—Matpl
- 下一篇: 初探 C# GPU 通用计算技术