第一段代码,是做的一个折线图
from pyecharts.options.series_options import LineStyleOpts
import xlrd
data = xlrd.open_workbook(r'E:\y python\\Income and expenditure.xlsx')
table = data.sheets()[0]
print(table)
x_datas=[]#用来表示横坐标
As=[]
Bs=[]
for i in range(1,13):
x_data=table.row_values(i)[0]
x_datas.append(x_data)
A=table.row_values(i)[1]
As.append(A)
B=table.row_values(i)[2]
Bs.append(B)
print(x_datas)
print(As)
print(Bs)
import pyecharts.options as opts
from pyecharts.charts import Line
(
Line()
.add_xaxis(xaxis_data=x_datas)
.add_yaxis(
series_name="收入",
y_axis=As,
label_opts=opts.LabelOpts(is_show=True),
)
.add_yaxis(
series_name="支出",
y_axis=Bs,
label_opts=opts.LabelOpts(is_show=True),
)
.set_global_opts(
title_opts=opts.TitleOpts(
title="收入支出对比",
title_textstyle_opts=opts.TextStyleOpts(
color="black",
font_style="italic",
font_size="20",
font_weight="bolder"
)
),
yaxis_opts=opts.AxisOpts(
name="金额",
name_textstyle_opts=opts.TextStyleOpts(
color="red",
font_size="10",
)
),
xaxis_opts=opts.AxisOpts(
name="年份",
axislabel_opts={"rotate":45},
name_textstyle_opts=opts.TextStyleOpts(
color="green",
font_size="10",
)
),
tooltip_opts=opts.TooltipOpts(
is_show=True,
)
)
.render("text.html")
)
第二段代码是做一个柱状图
from pyecharts.options.series_options import LineStyleOpts
import xlrd
data = xlrd.open_workbook(r'E:\y python\\products.xlsx')
table = data.sheets()[0]
print(table)
x_datas=[]
As=[]
Bs=[]
Cs=[]
Ds=[]
for i in range(1,6):
x_data=table.col_values(i)[0]
x_datas.append(x_data)
A=table.col_values(i)[1]
As.append(A)
B=table.col_values(i)[2]
Bs.append(B)
C=table.col_values(i)[3]
Cs.append(C)
D=table.col_values(i)[4]
Ds.append(D)
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker
(
Bar()
.add_xaxis(xaxis_data=x_datas)
.add_yaxis(
series_name="A产品销量",
y_axis=As,
label_opts=opts.LabelOpts(is_show=True),
)
.add_yaxis(
series_name="B产品销量",
y_axis=Bs,
label_opts=opts.LabelOpts(is_show=True),
)
.add_yaxis(
series_name="C产品销量",
y_axis=Cs,
label_opts=opts.LabelOpts(is_show=True),
)
.add_yaxis(
series_name="D产品销量",
y_axis=Ds,
label_opts=opts.LabelOpts(is_show=True),
)
.set_global_opts(
title_opts=opts.TitleOpts(
title="各年份不同产品销量对比",
title_textstyle_opts=opts.TextStyleOpts(
color="black",
font_style="italic",
font_size="20",
font_weight="bolder"
)
),
yaxis_opts=opts.AxisOpts(
name="销量/万吨",
name_textstyle_opts=opts.TextStyleOpts(
color="purple",
font_size="15",
)
),
xaxis_opts=opts.AxisOpts(
name="年份/年",
axislabel_opts={"rotate":45},
name_textstyle_opts=opts.TextStyleOpts(
color="pink",
font_size="15",
)
),
tooltip_opts=opts.TooltipOpts(
is_show=True,
)
)
.render("test.html")
)
总结:python 的pyecharts还是很好用的,就是官方文档写的太杂乱了,很多东西其实用不到的,我个人对属性不太了解,就导致不是在找属性,就是找属性的路上。做第一个的时候花费我很长时间,但是有了第一个的基础,做第二个就容易多了,了解了基本常用的属性之后,做个普通的图表还是没啥问题的
哦对,两个效果图
?
?
|