"""
饼图 + 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 )