Using pyecharts for Data Visualization in Python: Installation, Examples, and Chart Types
This tutorial introduces pyecharts, a Python library that integrates with ECharts, covering installation via pip, handling network issues with a Tsinghua mirror, and detailed code examples for creating bar, pie, boxplot, line, radar, scatter, grid, and overlapping charts to visualize monthly precipitation and evaporation data.
pyecharts is a powerful Python library that combines Python with the ECharts JavaScript visualization framework, enabling a wide range of chart types directly from Python code.
Installation pip install pyecharts Because of network restrictions, it is recommended to use the Tsinghua mirror:
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pyechartsAfter a successful installation, you can start creating charts. The following examples use monthly precipitation and evaporation data.
Bar Chart
from pyecharts import Bar
columns = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]
data1 = [2.0,4.9,7.0,23.2,25.6,76.7,135.6,162.2,32.6,20.0,6.4,3.3]
data2 = [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 = Bar("Bar Chart", "Annual Precipitation and Evaporation")
bar.add("Precipitation", columns, data1, mark_line=["average"], mark_point=["max","min"])
bar.add("Evaporation", columns, data2, mark_line=["average"], mark_point=["max","min"])
bar.render()Pie Chart
from pyecharts import Pie
pie = Pie("Pie Chart", "Annual Precipitation and Evaporation", title_pos='center', width=900)
pie.add("Precipitation", columns, data1, center=[25,50], is_legend_show=False)
pie.add("Evaporation", columns, data2, center=[75,50], is_legend_show=False, is_label_show=True)
pie.render()Boxplot
from pyecharts import Boxplot
boxplot = Boxplot("Boxplot", "Annual Precipitation and Evaporation")
x_axis = ['Precipitation','Evaporation']
y_axis = [data1, data2]
yaxis = boxplot.prepare_data(y_axis)
boxplot.add("Weather Statistics", x_axis, yaxis)
boxplot.render()Line Chart
from pyecharts import Line
line = Line("Line Chart", "Annual Precipitation and Evaporation")
line.add("Precipitation", columns, data1, is_label_show=True)
line.add("Evaporation", columns, data2, is_label_show=True)
line.render()Radar Chart
from pyecharts import Radar
radar = Radar("Radar Chart", "Annual Precipitation and Evaporation")
radar_data1 = [[2.0,4.9,7.0,23.2,25.6,76.7,135.6,162.2,32.6,20.0,6.4,3.3]]
radar_data2 = [[2.6,5.9,9.0,26.4,28.7,70.7,175.6,182.2,48.7,18.8,6.0,2.3]]
schema = [
("Jan",5), ("Feb",10), ("Mar",10), ("Apr",50), ("May",50), ("Jun",200),
("Jul",200), ("Aug",200), ("Sep",50), ("Oct",50), ("Nov",10), ("Dec",5)
]
radar.config(schema)
radar.add("Precipitation", radar_data1)
radar.add("Evaporation", radar_data2, item_color="#1C86EE")
radar.render()Scatter Chart
from pyecharts import Scatter
scatter = Scatter("Scatter Chart", "Annual Precipitation and Evaporation")
scatter.add("Precipitation vs Evaporation", data1, data2, xaxis_name="Precipitation", yaxis_name="Evaporation", yaxis_name_gap=40)
scatter.render()Grid Layout
from pyecharts import Grid
line = Line("Line Chart", "Annual Precipitation and Evaporation", title_top="45%")
line.add("Precipitation", columns, data1, is_label_show=True)
line.add("Evaporation", columns, data2, is_label_show=True)
grid = Grid()
grid.add(bar, grid_bottom="60%")
grid.add(line, grid_top="60%")
grid.render()Overlap (Bar + Line)
from pyecharts import Overlap
overlap = Overlap()
bar = Bar("Bar-Line Overlap", "Annual Precipitation and Evaporation")
bar.add("Precipitation", columns, data1, mark_point=["max","min"])
bar.add("Evaporation", columns, data2, mark_point=["max","min"])
overlap.add(bar)
overlap.add(line)
overlap.render()The article concludes with a checklist: import the required chart modules, create chart objects, use add() to input data and configure options, and finally call render() to generate HTML files. It also mentions that pyecharts supports many 3D and map charts, with documentation available in Chinese.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
