轮播图形制作

 

"""
饼图 + timeline轮播年份
"""
import pandas as pd
import numpy as np
from pyecharts.charts import Pie,Timeline
from pyecharts import options as opts

gdp_read = pd.read_csv('gdp.csv')
gdp_four = gdp_read.iloc[[0,8,9,18,12],0:].set_index("province")
gdp_four = gdp_four.T.sort_index()

Y_line = np.array(gdp_four) #Y轴
X_line =  gdp_four.index.tolist() #X轴
City = gdp_four.columns.values.tolist() #城市


tl = Timeline()
for i in range(len(X_line)):
    pie = (
        Pie()
        .add(
            "商家A",
            [list(z) for z in zip(City, Y_line.tolist()[i])],
            rosetype="radius",
            radius=["30%", "55%"],
        )
        .set_global_opts(title_opts=opts.TitleOpts("第"+X_line[i]))
    )
    tl.add(pie, X_line[i]+"年")

tl.render("饼图timeline轮播年份.html")

"""
线图 + zoom滑块在左侧, logY效果
"""
import pandas as pd
import numpy as np
from pyecharts.charts import Line,Bar,Pie,Page
from pyecharts import options as opts

gdp_read = pd.read_csv('gdp.csv')
gdp_four = gdp_read.iloc[[0,8,9,18,12],0:].set_index("province")
gdp_four = gdp_four.T.sort_index()

Y_line = np.array(gdp_four.T) #Y轴
X_line =  gdp_four.index.tolist() #X轴
City = gdp_four.columns.values.tolist() #城市

#线图
def show_line():
    line = Line().add_xaxis(X_line)

    for i in range(len(City)):
        line.add_yaxis(City[i],list(Y_line[i]),is_smooth=True)

    line.set_global_opts(title_opts=opts.TitleOpts(title="线性滑块"),
                         datazoom_opts=opts.DataZoomOpts(pos_left = True),
                         yaxis_opts=opts.AxisOpts(type_="log",is_scale=True))
    return line

show_line().render("线图zoom滑块.html")

"""
streamlit 控件年份 + 柱状图
"""
import pandas as pd
import numpy as np
from pyecharts.charts import Bar
from pyecharts import options as opts
import streamlit as st

gdp_read = pd.read_csv('gdp.csv')
gdp_four = gdp_read.iloc[[0,8,9,18,12],0:].set_index("province")
gdp_four = gdp_four.T.sort_index()

Y_line = np.array(gdp_four) #Y轴
X_line =  gdp_four.index.tolist() #X轴
City = gdp_four.columns.values.tolist() #城市

year  = st.slider('   ',0,len(X_line)-1,0)

def show_bar():
    bar = Bar().add_xaxis(City)
    bar.add_yaxis( X_line[year] , list(Y_line[year]) )
    bar.set_global_opts(title_opts = opts.TitleOpts(title = ""))
    return bar

st.components.v1.html( show_bar().render_embed( ) , width = 950 , height = 500 , scrolling = False )

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值