一、基本介紹
Python Pyecharts是Python中的一個數據可視化庫。它基於Echarts.js庫,可以通過使用Python語言,進行數據探索和數據可視化。它非常容易使用,具有多種圖表類型和交互性,並且可以在Jupyter Notebook中使用。在數據可視化中,Pyecharts可以幫助我們分析和探索數據,同時也可以向觀眾傳達數據的故事。
下面我們通過一個簡單的例子來展示如何使用Python Pyecharts繪製一個基本的柱形圖:
from pyecharts.charts import Bar from pyecharts import options as opts #定義x軸和y軸數據 x_data = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] y_data = [820, 932, 901, 934, 1290, 1330, 1320] #定義圖表 bar = ( Bar() .add_xaxis(x_data) .add_yaxis("銷量", y_data) .set_global_opts(title_opts=opts.TitleOpts(title="某商場銷售情況")) ) #生成html文件,並展示圖表 bar.render("bar_chart.html")
二、圖表類型
Python Pyecharts支持多種類型的圖表,包括柱形圖、折線圖、餅圖、散點圖、地圖等。下面我們分別介紹一下幾種常用圖表的繪製方法。
柱形圖
柱形圖是一種以長方形柱形的高度或長度表示數據的圖表。它常用於比較不同類別的數據之間的大小。Pyecharts中繪製柱形圖可以使用Bar類。
from pyecharts.charts import Bar from pyecharts import options as opts #定義x軸和y軸數據 x_data = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] y_data = [820, 932, 901, 934, 1290, 1330, 1320] #定義圖表 bar = ( Bar() .add_xaxis(x_data) .add_yaxis("銷量", y_data) .set_global_opts(title_opts=opts.TitleOpts(title="某商場銷售情況")) ) #生成html文件,並展示圖表 bar.render("bar_chart.html")
折線圖
折線圖是一種以線條連接數據點的方式表示數據的圖表。它可以用於展示數據的趨勢和變化。Pyecharts中繪製折線圖可以使用Line類。
from pyecharts.charts import Line from pyecharts import options as opts #定義x軸和y軸數據 x_data = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] y_data = [820, 932, 901, 934, 1290, 1330, 1320] #定義圖表 line = ( Line() .add_xaxis(x_data) .add_yaxis("銷量", y_data) .set_global_opts(title_opts=opts.TitleOpts(title="某商場銷售情況")) ) #生成html文件,並展示圖表 line.render("line_chart.html")
餅圖
餅圖是一種圓形圖表,根據數據大小,將圓形分成不同大小的扇形,用於展示數據的比例和佔比。Pyecharts中繪製餅圖可以使用Pie類。
from pyecharts.charts import Pie from pyecharts import options as opts #定義x軸和y軸數據 x_data = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] y_data = [820, 932, 901, 934, 1290] #定義圖表 pie = ( Pie() .add("", [list(z) for z in zip(x_data, y_data)]) .set_global_opts(title_opts=opts.TitleOpts(title="某商場銷售情況")) .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}")) ) #生成html文件,並展示圖表 pie.render("pie_chart.html")
散點圖
散點圖是一種以點的位置表示數據的圖表。它可以用來展示數據之間的關係,例如在二維平面中展示兩個變量之間的關係。Pyecharts中繪製散點圖可以使用Scatter類。
from pyecharts.charts import Scatter from pyecharts import options as opts #定義數據 data = [ [10.0, 8.04], [8.0, 6.95], [13.0, 7.58], [9.0, 8.81], [11.0, 8.33], [14.0, 9.96], [6.0, 7.24], [4.0, 4.26], [12.0, 10.84], [7.0, 4.82], [5.0, 5.68] ] #定義圖表 scatter = ( Scatter() .add_xaxis([d[0] for d in data]) .add_yaxis("", [d[1] for d in data]) .set_global_opts(title_opts=opts.TitleOpts(title="散點圖")) ) #生成html文件,並展示圖表 scatter.render("scatter_chart.html")
地圖
地圖是一種以地域空間為基礎展示各類地理數據的圖表。Pyecharts中繪製地圖可以使用Map類。
from pyecharts.charts import Map from pyecharts import options as opts #定義數據 data = [('廣東', 1047), ('北京', 372), ('上海', 213), ('浙江', 200), ('四川', 157), ('江蘇', 113), ('福建', 111), ('湖南', 109), ('山東', 105), ('河南', 85)] #定義圖表 map = ( Map() .add("", data, "china") .set_global_opts(title_opts=opts.TitleOpts(title="中國各省人口分佈圖")) ) #生成html文件,並展示圖表 map.render("map_chart.html")
三、交互性
Python Pyecharts支持多種交互功能,例如數據切換、數據過濾、鼠標懸停等。這些交互功能可以使我們在探索數據時更加方便和直觀。
下面我們通過一個例子來展示如何使用Python Pyecharts添加交互功能,例如鼠標懸停和數據過濾功能:
from pyecharts.charts import Scatter from pyecharts import options as opts #定義數據 x_data = [10, 20, 30, 40, 50, 60, 70, 80] y_data = [10, 20, 30, 40, 50, 60, 70, 80] #定義圖表 scatter = ( Scatter() .add_xaxis(x_data) .add_yaxis("", y_data) .set_global_opts( title_opts=opts.TitleOpts(title="鼠標懸停和數據過濾功能"), tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"), datazoom_opts=[opts.DataZoomOpts(), opts.DataZoomOpts(type_="inside")], ) ) #生成html文件,並展示圖表 scatter.render("scatter_chart_interaction.html")
四、主題定製
Python Pyecharts支持多種主題樣式,例如light、dark、chalk等。我們可以根據自己的需要選擇主題,並且可以自定義樣式。下面我們通過一個簡單的例子來展示如何使用Python Pyecharts定製主題樣式:
from pyecharts.charts import Bar from pyecharts import options as opts from pyecharts.globals import ThemeType #定義x軸和y軸數據 x_data = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] y_data = [820, 932, 901, 934, 1290, 1330, 1320] #定義圖表 bar = ( Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))#選擇主題為LIGHT .add_xaxis(x_data) .add_yaxis("銷量", y_data) .set_global_opts(title_opts=opts.TitleOpts(title="某商場銷售情況")) ) #生成html文件,並展示圖表 bar.render("bar_chart_custom.html")
五、結語
Python Pyecharts作為數據可視化庫,具有豐富的圖表類型、易用性和交互性,可以幫助我們更好地探索和傳達數據。你可以使用Pyecharts來快速構建漂亮的數據可視化,向觀眾傳達有關數據的故事。
原創文章,作者:WDGVH,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/331779.html