Fundamentals 9 min read

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.

Test Development Learning Exchange
Test Development Learning Exchange
Test Development Learning Exchange
Using pyecharts for Data Visualization in Python: Installation, Examples, and Chart Types

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 pyecharts

After 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.

Pythontutorialdata visualizationpyechartscharts
Test Development Learning Exchange
Written by

Test Development Learning Exchange

Test Development Learning Exchange

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.