- 积分
- 757
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2020-9-17
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 Rainch 于 2021-1-5 13:47 编辑
import xlrd
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.faker import Faker
from pyecharts.globals import ThemeType
bar = Bar()
"""
x=["浑南", "沈北", "苏家屯", "辽中", "新民","康平", "法库"]
y1=[5, 12, 18, 7, 15, 7, 9,10]
bar.add_xaxis(x)
bar.add_yaxis("10月21日降雨量", y1,itemstyle_opts = opts.ItemStyleOpts(color = "#106473"))
"""
# execl文件读取方法
# 数据格式 年 浑南 新民 辽中 康平 法库 沈北 苏家屯
filename="沈阳常规气象站年降水量(1951-2019).xlsx"
book = xlrd.open_workbook(filename)
sheet1 = book.sheets()[0]
nrows = sheet1.nrows
# print('表格总行数',nrows)
ncols = sheet1.ncols
# print('表格总列数',ncols)
row1_values = sheet1.row_values(0)
#print('第1列值',col1_values)
col1_values = sheet1.col_values(colx=0,start_rowx=1) # 年代
x=col1_values
#print('第1行值',row1_values)
col2_values = sheet1.col_values(colx=1,start_rowx=1) # 浑南
col3_values = sheet1.col_values(colx=2,start_rowx=1) # 新民
col4_values = sheet1.col_values(colx=3,start_rowx=1) #辽中
col5_values = sheet1.col_values(colx=4,start_rowx=1) #康平
col6_values = sheet1.col_values(colx=5,start_rowx=1) # 法库
col7_values = sheet1.col_values(colx=6,start_rowx=1) #沈北
col8_values = sheet1.col_values(colx=7,start_rowx=1) #苏家屯
#print('第2列值',col2_values)
y1=col2_values
y2=col3_values
y3=col4_values
y4=col5_values
y5=col6_values
y6=col7_values
y7=col8_values
'''
#逐项例举法
bar.add_xaxis(x)
bar.add_yaxis("年降雨量", y1,itemstyle_opts = opts.ItemStyleOpts(color = "#106473"))
'''
# 链式写法
bar = (
Bar(init_opts=opts.InitOpts(width='1200px', height='800px',theme=ThemeType.LIGHT)) # LIGHT
.add_xaxis(x)
.add_yaxis("浑南", y1)
.add_yaxis("新民", y2)
.add_yaxis("辽中", y3)
.add_yaxis("康平", y4)
.add_yaxis("法库", y5)
.add_yaxis("沈北", y6)
.add_yaxis("苏家屯", y7)
#下行的设置 与+6的设置方法相同,增加了更详细的参数
.set_global_opts(title_opts=opts.TitleOpts(title="降雨量", subtitle="mm"))
)
# 标注标题、放大滑块
bar.set_global_opts(title_opts=opts.TitleOpts(title="降雨量", subtitle="mm",
title_link = "https://www.baidu.com",
pos_left = 'left'),
xaxis_opts=opts.AxisOpts( name_rotate = 90),
datazoom_opts = opts.DataZoomOpts(is_show = True),
legend_opts = opts.LegendOpts(pos_left = "right"),)
# 标注最大值和最小值
bar.set_series_opts(label_opts=opts.LabelOpts(is_show=False),markpoint_opts = opts.MarkPointOpts(
data = [opts.MarkPointItem(type_ = "max", name = "最大值"),
opts.MarkPointItem(type_ = "min", name = "最小值"),
]))
# render 会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件
# 也可以传入路径参数,如 bar.render("mycharts.html")
bar.render("bar_shengyang_7.html")
bar.render_notebook()
------------------------------------------------------------------------------
代码所用数据
链接:https://pan.baidu.com/s/1uPAxIFp6-8e3e2qp9Jm9dw
提取码:ypbn
|
-
柱状雨量图
|