#1.散点图:
from pyecharts.charts import Scatter, Line, Bar
import numpy as np
import pyecharts.options as opt
x = np.linspace(0,2*np.pi,50)
y = np.sin(x)
y2 = np.cos(x)# 散点图
( Scatter(init_opts=opt.InitOpts(width='620px',height='320px'))
.add_xaxis(xaxis_data=x)
.add_yaxis(series_name='sin',y_axis=y)
.add_yaxis(series_name='cos',y_axis=y2,label_opts=opt.LabelOpts(is_show=False))
).render_notebook()
# 线图
( Line()
.add_xaxis(xaxis_data=x)
.add_yaxis(series_name='sin',y_axis=y,label_opts=opt.LabelOpts(is_show=False))
.set_global_opts(title_opts=opt.TitleOpts(title='曲线'), # 设置标题
tooltip_opts=opt.TooltipOpts(axis_pointer_type='cross')) # 全局设置,
).render_notebook()
# 两个图画在同一个图表上
num = [110, 136, 108, 48, 111, 112, 103]
num2 = [90, 110, 101, 70, 90, 120, 99]
lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']
bar = ( Bar(init_opts=opt.InitOpts(width='720px',height='320px'))
.add_xaxis(xaxis_data=lab)
.add_yaxis('',num))
lines = ( Line()
.add_xaxis(xaxis_data=lab)
.add_yaxis(series_name='',y_axis=num,label_opts=opt.LabelOpts(is_show=False)))
bar.overlap(lines).render_notebook()
from pyecharts.charts import Bar
from pyecharts import options as opts
#2、绘制柱状图
# 画简单的柱状图
bar=(
Bar()
.add_xaxis(["衬衫", "羊毛衫", "雪纺衫","裤子", "高跟鞋", "袜子"])
.add_yaxis("服装", [5, 20, 36, 10, 75, 90])
.set_global_opts(title_opts=opts.TitleOpts(, sub))
)
#方法一:将图表渲染输出到html页面
#bar.render() # 如果不穿参数,默认保存到当前文件夹下
# 方法二:直接再jupyter中展示
bar.render_notebook()
#变换主题
from pyecharts.charts import Bar
from pyecharts import options as opts
# 内置主题类型可查看 pyecharts.globals.ThemeType
from pyecharts.globals import ThemeType
bar = (
Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
.add_yaxis("商家B", [15, 6, 45, 20, 35, 66])
.set_global_opts(title_opts=opts.TitleOpts(title="主标题", subtitle="副标题"))
)
bar.render_notebook()
#pyecharts 提供了 10+ 种内置主题,开发者也可以定制自己喜欢的主题,https://pyecharts.org/#/zh-cn/themes
#(WHITE、LIGHT、DARK、CHALK、ESSOS、MACARONS、PURPLE_PASSION、ROMA、ROMANTIC、
# SHINE、VINTAGE、WALDEN、WESTEROS、WONDERLAND)
#两条柱状图
from pyecharts.charts import Bar
from pyecharts import options as opts
x,y,x2,y2 = [1,3,5,7,9],[5,2,7,8,2],[2,4,6,8,10],[8,6,2,5,6]
bar=(
Bar()
.add_xaxis(x)
.add_xaxis(x2)
.add_yaxis('柱状图-1', y)
.add_yaxis('柱状图-2', y2)
.set_series_opts(label_opts=opts.LabelOpts(position="right"))
.set_global_opts(title_opts=opts.TitleOpts())
)
bar.render_notebook()
#翻转 XY 轴(条形图)
from pyecharts import options as opts
from pyecharts.charts import Bar
bar=(
Bar()
.add_xaxis(["衬衫", "羊毛衫", "雪纺衫","裤子", "高跟鞋", "袜子"])
.add_yaxis("服装", [5, 20, 36, 10, 75, 90])
.reversal_axis()
.set_series_opts(label_opts=opts.LabelOpts(position="right"))
.set_global_opts(title_opts=opts.TitleOpts())
)
bar.render_notebook()
from pyecharts import options as opts
from pyecharts.charts import Bar
x,y,x2,y2 = [1,3,5,7,9],[5,2,7,8,2],[2,4,6,8,10],[8,6,2,5,6]
bar=(
Bar()
.add_xaxis(x)
.add_xaxis(x2)
.add_yaxis('条形图-1', y)
.add_yaxis('条形图-2', y2)
.reversal_axis()
.set_series_opts(label_opts=opts.LabelOpts(position="right"))
.set_global_opts(title_opts=opts.TitleOpts())
)
bar.render_notebook()
双纵坐标柱状图
import pyecharts.options as opts
from pyecharts.charts import Bar, Line
x_data = ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]
bar = (
Bar(init_opts=opts.InitOpts(, ))
.add_xaxis(xaxis_data=x_data)
.add_yaxis(
series_name = "蒸发量",
yaxis_index = 0,
y_axis = [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3,],
label_opts = opts.LabelOpts(is_show=False),
)
.add_yaxis(
series_name="平均温度",
yaxis_index=1,
y_axis=[2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2],
label_opts=opts.LabelOpts(is_show=False),
)
.extend_axis(
yaxis=opts.AxisOpts(
name="温度",
type_="value",
min_=0,
max_=25,
interval=5,
axislabel_opts=opts.LabelOpts(formatter="{value} °C"),
)
)
.set_global_opts(
tooltip_opts=opts.TooltipOpts(
is_show=True, trigger="axis", axis_pointer_type="cross"
),
xaxis_opts=opts.AxisOpts(
type_="category",
axispointer_opts=opts.AxisPointerOpts(is_show=True, type_="shadow"),
),
yaxis_opts=opts.AxisOpts(
name="水量",
type_="value",
min_=0,
max_=250,
interval=50,
axislabel_opts=opts.LabelOpts(formatter="{value} ml"),
axistick_opts=opts.AxisTickOpts(is_show=True),
splitline_opts=opts.SplitLineOpts(is_show=True),
),
)
)
bar.render_notebook()
#堆叠数据(全部)
from pyecharts import options as opts
from pyecharts.charts import Bar
days = [1,2,3,4,5]
sleeping = [7,8,6,11,7]
eating = [2,3,4,3,2]
working = [7,8,7,2,2]
playing = [8,5,7,8,13]
bar=(
Bar()
.add_xaxis(days)
.add_yaxis("sleeping", sleeping, stack="stack1", color='blue')
.add_yaxis("eating", eating, stack="stack1", color='red')
.add_yaxis("working", working, stack="stack1", color='green')
.add_yaxis("playing", playing, stack="stack1", color='orange')
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts())
)
bar.render_notebook()
#4.Bar-MarkPoint(指定类型)
from pyecharts import options as opts
from pyecharts.charts import Bar
days = [1,2,3,4,5]
sleeping = [7,8,6,11,7]
eating = [2,3,4,3,2]
working = [7,8,7,2,2]
playing = [8,5,7,8,13]
bar=(
Bar()
.add_xaxis(days)
.add_yaxis("sleeping", sleeping, stack="stack1", color='blue')
.add_yaxis("eating", eating, stack="stack2", color='red')
.add_yaxis("working", working, stack="stack3", color='green')
.add_yaxis("playing", playing, stack="stack4", color='orange')
.set_g