python pyecharts学习笔记 散点图、气泡图

文章目录

        • 参考链接
    • echarts 叠加图层的优先级
        • pyecharts框架
        • 示例-绘制散点图

参考链接

参考文档:
官方文档-案例:https://pyecharts.org/#/zh-cn/intro
官方文档-配置项:https://pyecharts.org/#/zh-cn/global_options
保存为高清图片:https://blog.csdn.net/weixin_56859075/article/details/126138153
保存为高清html:https://blog.csdn.net/Caiqiudan/article/details/127637886?spm=1001.2014.3001.5502

echarts 叠加图层的优先级

参数zlevel,默认为0,值越大,层级越大。

pyecharts框架
chart = (
	# 设置图类型
	Scatter(init_opts=opts.InitOpts(renderer='svg')) # svg矢量图高清
	# 添加x轴
	.add_xaxis(...)
	# 添加y轴
	.add_yaxis(...)
	# 设置全局变量
	.set_global_opts(
		# 设置标题(title, fontsize)
		title_opts=opts.TitleOpts(...)
		# 设置x坐标轴(label、ticks)
		xaxis=opts.AxisOpts(...)
		# 设置y坐标轴(label、ticks)
		yaxis=opts.AxisOpts(...)
		# 设置视觉配置(eg:散点图的点的样式)
		visualmap_opts=opts.VisualMapOpts(...)
	)
)
示例-绘制散点图
from pyecharts import options as opts
from pyecharts.charts import Scatter
from pyecharts.commons.utils import JsCode
# 导入输出图片工具
from pyecharts.render import make_snapshot
# 使用snapshot-selenium 渲染图片
from snapshot_selenium import snapshot

y_data = a[[y,'aa',z,x]].apply(list, axis=1).to_list()
c = (
    Scatter(init_opts=opts.InitOpts(renderer='svg'))
    # 添加x轴
    .add_xaxis(a[x])
    # 添加y轴
    .add_yaxis('商品A', y_data, color=JsCode("""new echarts.graphic.RadialGradient(0.4, 0.3, 1, 
                    [{offset: 0,  color: '#bbd5e8'}, {offset: 1, color: '#287cb5'}])"""), # 渐变色
              label_opts=opts.LabelOpts(is_show=False),
              markline_opts=opts.MarkLineOpts(   # 添加两条线,一横(value_index=1),一纵(value_index=0)
                  is_silent=True,                # 鼠标移动的时候没有动态效果
                  data=[opts.MarkLineItem(x=a[x].quantile(q)),  # 横线
                        opts.MarkLineItem(y=a[y].quantile(q))], # 纵线
                  symbol=['none', 'arrow'],                 # 两头的样式
                  symbol_size=7,   # 箭头大小
                  linestyle_opts=opts.LineStyleOpts(width=1, color='black', opacity=0.4)
                )
    )
    
    # 全局配置
    .set_global_opts(                        
        title_opts=opts.TitleOpts(
#                         title="气泡图",
#                         title_textstyle_opts=opts.TextStyleOpts(font_size=36), # 字体大小
#                         pos_left='center'    # 居中显示
        ),
        # 设置x轴
        xaxis_opts=opts.AxisOpts(            # 设置xlabel
#                         is_show=False,    # x轴是否可见
                        type_='value',      # x轴类型为数值
                        name='\n'.join(list(x)),
#                         name_textstyle_opts=opts.TextStyleOpts(font_size=18), # 设置label字体大小
#                         axislabel_opts=opts.LabelOpts(font_size=18),          # 设置x轴坐标字体大小
                        splitline_opts=opts.SplitLineOpts(is_show=True,       # 显示x轴网格线
                                                linestyle_opts=opts.LineStyleOpts(width=1,  # 网格宽度为3
                                                    type_='dashed',   # 线条样式,默认为直线
                                                    opacity=0.9       # 透明度
                                                 ),      
                        ),
                        axisline_opts=opts.AxisLineOpts(is_show=False),  # 不显示线
                        name_gap=50,                          # 坐标轴名称与轴线之间的距离
                        
        ),
        # 设置y轴
        yaxis_opts=opts.AxisOpts(
            name=y,
#             name_textstyle_opts=opts.TextStyleOpts(font_size=18),
            minor_tick_opts=opts.MinorTickOpts(is_show=True, split_number=2),  # 次级分割线
            axislabel_opts=opts.LabelOpts(
#                                     font_size=18,
                                    formatter='{value}%', # 百分比格式
            ),    
            axisline_opts=opts.AxisLineOpts(is_show=False), # 不显示线
#             max_interval=0.05,            # 最大刻度间隔
            splitline_opts=opts.SplitLineOpts(is_show=True,
                                    linestyle_opts=opts.LineStyleOpts(width=1,
                                        type_='dotted',
                                        opacity=0.9))
        ),
        
        visualmap_opts=opts.VisualMapOpts( # 视觉配置
            is_show=False,                 # 不显示视觉配置项
            type_='size',                  # 'size',可根据数据调节气泡大小
            min_=a[z].min(), max_=a[z].max(),              # 通过气泡大小来显示的数据中,最小值和最大值范围。默认[0,100],即若数值超过100则不只显示range_size的max
            range_size=[10,70],            # 设置最小的气泡宽度和最大的气泡宽度
#             range_opacity=0.5,            # 气泡透明度
            series_index=0,                # 指定哪一组数据需要通过视觉映射配置来绘制气泡图
            dimension=3,                   # 使用数据的第n个维度设置气泡大小
            
        ),
        tooltip_opts=opts.TooltipOpts( # 设置提示框配置项
#             axis_pointer_type='cross',  # 鼠标动画,十字线
            position='top',   # 提示框的位置,在鼠标上方
            formatter=JsCode( # 设置提示内容格式
            "function(params){return params.value[2]+' : '+'%s'+params.value[0];}"%(z)),
        ),
    )
)
c.render("跑代码后输出的图表和Excel//pyechart生成的气泡图.html"); # 保存为html
c.render_notebook()

python pyecharts学习笔记 散点图、气泡图_第1张图片

你可能感兴趣的:(pyecharts,pyecharts)