大数据可视化张扬课后参考答案_第1页
大数据可视化张扬课后参考答案_第2页
大数据可视化张扬课后参考答案_第3页
大数据可视化张扬课后参考答案_第4页
大数据可视化张扬课后参考答案_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

概述:大数据可视化选择题(多选)数据可视化能用哪种语言实现?(ABCD)C++语言Java语言Python语言JavaScript语言数据可视化可以用哪种符号元素编码?(B)长度长度、色彩、尺寸、位置、纹理、方向、形状以及关系长度、高度色彩、尺寸、位置、纹理、方向、形状以及关系数据可视化常用布局有哪些?(D)柱状图、饼图、折线图表格、散点图、雷达图网络图、时间线、热力图、地图、树图、复合图形等以上都对本任务中测试Python是否安装成功的语句是?(B)Python-VPython-VPython-RPython-R在使用Python操作MySQL数据库的时候,创建游标时使用了cursor=pyMySQL.cursors.DictCursor语句,其目的是让查询结果以什么格式输出?(A)列表嵌套字典列表嵌套元组元组嵌套字典元组嵌套元组在链接数据库的字符串中db=pymysql.connect(host="",port=3306,user="root",passwd="123456",db="big_data")中,用户名是:(C)3306rootbig_data在查询语句select_sql='SELECT*FROMmap_enword'中,查询的数据表名是:(B)map_enwordrootbig_data实操练习题使用for循环,计算1到100的和。参考答案:sum=0

foriinrange(1,101):

sum+=i

print(sum)#5050使用for循环,计算10的阶乘。参考答案:result=1

foriinrange(2,11):

result*=i

print(result)#3628800查询四六级单词库中的前十条数据。参考答案:importpymysql

"""查询"""

defselect_db(select_sql):

#建立数据库连接

db=pymysql.connect(

host="",

port=3306,

user="root",

passwd="root",

db="big_data"

)

#通过cursor()创建游标对象,并让查询结果以字典格式输出

cur=db.cursor(cursor=pymysql.cursors.DictCursor)

#使用execute()执行sql

cur.execute(select_sql)

#使用fetchall()获取所有查询结果

data=cur.fetchall()

#关闭游标

cur.close()

#关闭数据库连接

db.close()

returndata

select_sql='SELECT*FROMmap_enwordwhereid<=10'#查询四六级单词库中的前十条数据

words=select_db(select_sql)#将数据赋值给变量words

print(words)#查看结果查询四六级单词库中以o开头的单词数量。参考答案:importpymysql

"""查询"""

defselect_db(select_sql):

#建立数据库连接

db=pymysql.connect(

host="",

port=3306,

user="root",

passwd="root",

db="big_data"

)

#通过cursor()创建游标对象,并让查询结果以字典格式输出

cur=db.cursor(cursor=pymysql.cursors.DictCursor)

#使用execute()执行sql

cur.execute(select_sql)

#使用fetchall()获取所有查询结果

data=cur.fetchall()

#关闭游标

cur.close()

#关闭数据库连接

db.close()

returndata

select_sql='SELECTcount(*)FROMmap_enwordwhereenglishlike"o%"'#查询四六级单词库中以o开头的单词数量

words=select_db(select_sql)#将数据赋值给变量words

print(words)#查看结果项目一:Matplotlib应用选择题使用plot()绘制折线图时fmt参数设置为'rD--',其含义是(A)线段颜色为红色,菱形点标记,破折线连接线段颜色为红色,菱形点标记,实线连接线段颜色为红色,窄菱形标记,破折线连接线段颜色为红色,窄菱形标记,实线连接本任务中使用Matplotlib绘制柱状图时,调用的函数是(B)plt.plotplt.barplt.barhplt.hist本任务中调整y坐标轴为对数轴时,调用的函数是(D)plt.ylabelplt.yticksplt.ylimplt.yscale本任务中使用Matplotlib绘制水平条形图时,调用的函数是(D)A.plt.barB.plt.pieC.plt.histD.plt.barh本任务中使用Matplotlib绘制词云图时,调用了哪个库(B)A.plot_surfaceB.WordCloudC.plt.histD.plt.barh实操练习题使用本项目中的四六级单词库数据绘制一个折线图,要求颜色为绿色,点为5像素大小的实心圈标记,线为2像素粗的点划线形状。参考答案:#导入Matplotlib库

importmatplotlib.pyplotasplt

letter=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']

enword=[215,149,528,318,255,245,170,182,274,38,27,175,271,112,148,483,35,396,819,364,110,118,205,1,23,7]

#绘制折线图

plt.plot(letter,enword,color='green',marker='o',

markersize=5,linestyle='-.',linewidth=2)

#或者

#plt.plot(letter,enword,'go-.',markersize=5,linewidth=2)

plt.show()#展示将本项目任务1.1.6示例中的图例位置设置为为右下角显示,写出修改后的完整的示例代码。参考答案:#导入Matplotlib库

importmatplotlib.pyplotasplt

letter=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']

enword=[215,149,528,318,255,245,170,182,274,38,27,175,271,112,148,483,35,396,819,364,110,118,205,1,23,7]

plt.rcParams['font.sans-serif']=['SimHei']#显示中文标签

plt.rcParams['axes.unicode_minus']=False#正常显示负号

#绘制条形图

bar=plt.bar(letter,enword)

plt.legend(handles=bar,labels=['某字母开头的单词数'],loc='lowerright')

#修改坐标数字的字号

plt.xticks(fontsize=12)

plt.yticks(fontsize=12)

plt.show()#展示使用下列农作物产量数据,绘制气泡图。df_cl={"经度":[11,62,86,67,75],"纬度":[71,5,76,112,156],"产量":[41,12,66,32,89]}参考答案:frommatplotlibimportpyplotaspltplt.rcParams['font.sans-serif']=['SimHei']#显示中文标签

df_cl={"经度":[11,62,86,67,75],"纬度":[71,5,76,112,156],"产量":[41,12,66,32,89]}

plt.figure(figsize=(8,6))

plt.scatter(df_cl["经度"],df_cl["纬度"],s=df_cl["产量"],alpha=0.6)#增加s气泡的大小取值,alpha设置透明度#s设置点的尺寸,可以是标量,也可以是序列,alpha设置点的透明度

plt.xlabel("经度",fontsize=12)#设置x轴标签

plt.ylabel("维度",fontsize=12)#设置y轴标签

plt.title("农作物分布",fontsize=14)#设置标题

plt.yticks(range(0,91,30))#设置y轴的刻度

plt.xticks(range(0,181,30))#设置x轴的刻度

plt.show()使用以下给定数据实现棒棒糖图。data=[{'letter':'a','num':215},{'letter':'b','num':149},{'letter':'c','num':528},{'letter':'d','num':318},{'letter':'e','num':255},{'letter':'f','num':245},{'letter':'g','num':170},{'letter':'h','num':182},{'letter':'i','num':274},{'letter':'j','num':38},{'letter':'k','num':27},{'letter':'l','num':175},{'letter':'m','num':271},{'letter':'n','num':112},{'letter':'o','num':148},{'letter':'p','num':483},{'letter':'q','num':35},{'letter':'r','num':396},{'letter':'s','num':819},{'letter':'t','num':364},{'letter':'u','num':110},{'letter':'v','num':118},{'letter':'w','num':205},{'letter':'x','num':1},{'letter':'y','num':23},{'letter':'z','num':7}]参考答案:importmatplotlib.pyplotasplt

importnumpyasnp

frompylabimportmpl

#设置显示中文字体

mpl.rcParams["font.sans-serif"]=["SimHei"]

data=[{'letter':'a','num':215},{'letter':'b','num':149},{'letter':'c','num':528},{'letter':'d','num':318},{'letter':'e','num':255},{'letter':'f','num':245},{'letter':'g','num':170},{'letter':'h','num':182},{'letter':'i','num':274},{'letter':'j','num':38},{'letter':'k','num':27},{'letter':'l','num':175},{'letter':'m','num':271},{'letter':'n','num':112},{'letter':'o','num':148},{'letter':'p','num':483},{'letter':'q','num':35},{'letter':'r','num':396},{'letter':'s','num':819},{'letter':'t','num':364},{'letter':'u','num':110},{'letter':'v','num':118},{'letter':'w','num':205},{'letter':'x','num':1},{'letter':'y','num':23},{'letter':'z','num':7}]

N=26

x=np.arange(N)

y=[]

foreach_dataindata:

y.append(each_data['num'])

my_label=[]

foreach_dataindata:

my_label.append(each_data['letter'])

fig=plt.figure(figsize=(12,9))

plt.stem(x,y)

plt.ylabel('数量',fontsize=22)

plt.xticks(ticks=x,labels=my_label,ha='right')

#修改坐标数字的字号

plt.xticks(fontsize=22)

plt.yticks(fontsize=22)

#自动调整子图参数,使之填充整个图像区域

plt.tight_layout()

plt.savefig("lollipop_word.png",dpi=300)

plt.show()使用下面的文本数据集text绘制词云图,要求画布默认长300像素,宽200像素,背景色为黑色。text=“Theworldisbeautiful,butonlythroughhardworkanddiligencecanwecreateabetterlife”参考答案:importmatplotlib.pyplotasplt

fromwordcloudimportWordCloud

#准备文本数据

text=“Theworldisbeautiful,butonlythroughhardworkanddiligencecanwecreateabetterlife”

#创建词云对象

wordcloud=WordCloud(width=300,height=200,background_color="black").generate(text)

#绘制词云图

plt.figure(figsize=(6,6),facecolor=None)

plt.imshow(wordcloud,interpolation="bilinear")

plt.axis("off")

#显示图表

plt.show()项目二:Matplotlib实战选择题任务2.1.1向服务器端发出HTTP请求,调用的Python开源包是(C)requestjsonsrequestsjson任务2.2.2中使用plt.pie函数绘制饼图时,对其相关参数的描述正确的是以下哪项(A)explode:列表,表示每个扇区与圆心的距离,用于突出显示某些扇区center:(x,y)元组,表示饼图的中心位置,默认为(1,1)colors:每个饼块的颜色。类数组结构。颜色不可以循环使用shadow:饼图下是否有阴影,默认值为TureCSV文件格式规范的特点是(A)数据间使用逗号分隔数据间使用分号分隔数据间使用Tab制表符分隔数据间使用自定义字符分隔任务任务2.x还是本项目?本项目中有好几个任务呢?已修改题干和选项2.2.4中使用plt.bar函数绘制柱状图,对其相关参数的描述,不正确的是以下哪项(B)任务2.x还是本项目?本项目中有好几个任务呢?已修改题干和选项align:表示柱子在x轴上的对齐方式,默认为’center’color:柱状图的边框颜色tick_label:柱状图的刻度标签linewidth:柱状图边框宽度Matplotlib工具包的特点不包括以下哪个选项(B)是一种开源的可视化工具包是一种非开源的可视化工具包能够绘制散点图折线图等基础图标也能够绘制热力图等一些复杂图表实操练习题实现对“豆瓣电影分类排行榜-剧情片”数据的抓取。参考答案:importrequestsimportjsonurl='/j/chart/top_list'params={'type':'11','interval_id':'100:90','action':'','start':'0','limit':'200'}headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/101.0.4951.67Safari/537.36'}response=requests.get(url=url,params=params,headers=headers)content=response.json()print(content)withopen('豆瓣电影剧情排行榜.csv','w',encoding='utf-8')asfp:foriincontent:title=i['title']mtype='\\'.join(i['types'])regions='\\'.join(i['regions'])release_date=i['release_date']score=i['score']vote_count=str(i['vote_count'])fp.write(title+','+mtype+','+regions+','+release_date+','+score+','+vote_count+'\n')对“豆瓣电影分类排行榜-剧情片”数据进行过滤,只输出豆瓣评分>9.0的排行记录。参考答案:importrequestsimportjsonurl='/j/chart/top_list'params={'type':'11','interval_id':'100:90','action':'','start':'0','limit':'200'}headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/101.0.4951.67Safari/537.36'}response=requests.get(url=url,params=params,headers=headers)content=response.json()print(content)##foriincontent:##print(json.dumps(i,indent=4,ensure_ascii=False,separators=(',',':')))##breakwithopen('豆瓣电影剧情排行榜.csv','w',encoding='utf-8')asfp:foriincontent:title=i['title']mtype='\\'.join(i['types'])regions='\\'.join(i['regions'])release_date=i['release_date']score=i['score']vote_count=str(i['vote_count'])iffloat(score)>=9.0:fp.write(title+','+mtype+','+regions+','+release_date+','+score+','+vote_count+'\n')对“豆瓣电影分类排行榜-剧情片”数据进行统计分析,计算抓取的记录条数和评分的平均值。参考答案:importrequestsimportjsonurl='/j/chart/top_list'params={'type':'11','interval_id':'100:90','action':'','start':'0','limit':'200'}headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/101.0.4951.67Safari/537.36'}response=requests.get(url=url,params=params,headers=headers)content=response.json()print(content)##foriincontent:##print(json.dumps(i,indent=4,ensure_ascii=False,separators=(',',':')))##breakcount=0sum=0.0withopen('豆瓣电影剧情排行榜.csv','w',encoding='utf-8')asfp:foriincontent:title=i['title']mtype='\\'.join(i['types'])regions='\\'.join(i['regions'])release_date=i['release_date']score=i['score']vote_count=str(i['vote_count'])count=count+1sum=sum+float(score)fp.write(title+','+mtype+','+regions+','+release_date+','+score+','+vote_count+'\n')avg=sum/countprint("抓取记录数为:"+str(count))print("评分平均值为:"+str(avg))项目三:PyEcharts应用选择题(1) (多选)关于工具箱工具配置项的描述正确的有哪些?(ABCD)A.ToolBoxFeatureSaveAsImageOpts()表示保存图片B.ToolBoxFeatureDataViewOpts()表示数据视图工具C.ToolBoxFeatureDataZoomOpts()表示数据区域缩放D.ToolBoxFeatureMagicTypeOpts()表示动态类型切换图例配置项有两种类型分别是?(A)'plain','scroll''horizontal','vertical''line','bar''True','Fales'下列词云图数据输入方式正确的是?(A)[(word1,count1),(word2,count2)][word1,count1,word2,count2](word1,count1),(word2,count2)[{word1,count1},{word2,count2}]象形柱状图绘制过程中的symbol_repeat函数用来指定图形元素是否重复,该函数可以取什么值?(A)false/null/undefinedarrowstartorthogonal3D柱状图绘制过程中shading函数控制着三维图形的着色效果,该函数可以取到下列何值?(A)realisticleafDepthcenterRadial实操练习题1.在本教材任务3.2.1的基础上,更换标题位置重新输出图表。参考答案:c=(

Bar(init_opts=opts.InitOpts())

.add_xaxis(x_data)

.add_yaxis("第一产业就业",y_data1)

.add_yaxis("第二产业就业",y_data2)

.add_yaxis("第三产业就业",y_data3)

.set_global_opts(title_opts=opts.TitleOpts(

title="三次产业就业人员数量",

subtitle='2012年~2021年',

title_textstyle_opts=opts.TextStyleOpts(font_size=22),

pos_right="center"),

legend_opts=opts.LegendOpts(

type_='scroll',

selected_mode='double',

pos_left='center',

pos_top='95%',

orient='horizontal',

)

)

)

c.render_notebook()2.在本教材任务3.2.1的基础上,更换标题颜色和大小重新输出图表。参考答案:c=(

Bar(init_opts=opts.InitOpts())

.add_xaxis(x_data)

.add_yaxis("第一产业就业",y_data1)

.add_yaxis("第二产业就业",y_data2)

.add_yaxis("第三产业就业",y_data3)

.set_global_opts(

title_opts=opts.TitleOpts(

title="2012年~2021年三次产业就业人员数量",

subtitle='近十年',

title_textstyle_opts=opts.TextStyleOpts(color='red',font_size=20),

subtitle_textstyle_opts=opts.TextStyleOpts(color='#f987a2',font_size=20),

pos_right="center"),

legend_opts=opts.LegendOpts(

type_='scroll',

selected_mode='double',

pos_left='center',

pos_top='95%',

orient='horizontal',

)

)

)

print(type(c))

c.render_notebook()3.以数据words绘制词云图,标题设置为“学科分类”,words=[("数学",230),("语文",124),("英语",436),("物理",255),("化学",247),("生物",244),("地理",138),("历史",184),("政治",12),("考研辅导",165),("考研择校",247)]。参考答案:frompyecharts.chartsimportWordCloud

words=[

("数学",230),

("语文",124),

("英语",436),

("物理",255),

("化学",247),

("生物",244),

("地理",138),

("历史",184),

("政治",12),

("考研辅导",165),

("考研择校",247),

]

wc=(

WordCloud()

.set_global_opts(

title_opts=opts.TitleOpts(

title="学科分类",

pos_right="center",

pos_top="5%",

title_textstyle_opts=opts.TextStyleOpts(color='black',font_size=22),))

.add("",words)

)

wc.render_notebook()项目四:PyEcharts实战选择题以下关于用户画像的描述不正确的是哪一项?(B)用户画像是指根据用户的属性、用户偏好、生活习惯、用户行为等信息而抽象出来的标签化用户模型。用户画像就不需要给用户打标签。用户画像中的标签是通过对用户信息分析而来的高度精炼的特征标识。用户画像通过打标签可以利用一些高度概括、容易理解的特征来描述用户(多选)用户画像的应用场景有哪些?(ABCD)企业精准营销用户流失用户偏好产品推荐(多选)属于用户画像标签属性的是?(ABCD)年龄学历婚姻粉丝数以下哪类图形可以展示数据的区域位置分布?(D)散点图柱状图折线图地理图表(多选)用户标签主要包括以下哪些?(ABCD)用户基本特征社会身份顾客生命周期消费偏好实操练习题借助DataStat数据统计类,编写页面pv/uv统计函数page_stat,输入的rdd包含page、userid、spot_code等列。要求按pv倒序,统计结果文件保存/home/ysedu/answer/文件目录下。参考答案:#页面pvuv

defpage_stat(rdd):

dim_columns=["page"]

indices=[Count(),CountUniq(["userid"])]

ds=DataStat(dim_columns,indices)

rdd=rdd.filter(lambdar:r["spot_code"]=="spot_interval").map(ds.converts).reduceByKey(ds.calculates).map(ds.map_results)

#根据pv排序

rdd=rdd.sortBy(lambdar:r[-2],False,1)

#保存

fb=open("/home/ysedu/answer/"+sys._getframe().f_code.co_name,"w")

fb.write('\n'.join(rdd.map(ds.tab_text).collect()))借助DataStat数据统计类和pandas库,编写函数retention_stat计算用户访问的次日留存率~7日留存率,输入的rdd包含date、userid等列。要求统计结果文件保存/home/ysedu/answer/文件目录下。参考答案:#用户访问7日留存率

defretention_stat(rdd):

#首次访问日期

ds=DataStat(["userid"],[Min(["date"])])

f_rdd=rdd.map(add_date_row).map(ds.converts).reduceByKey(ds.calculates).map(ds.map_results)

#用户访问记录

ds=DataStat(["userid","date"],[])

r_rdd=rdd.map(add_date_row).map(ds.converts).reduceByKey(ds.calculates).map(ds.map_results)

#将rdd转为dataframe

schema=StructType([StructField('userid',StringType()),StructField('first_date',StringType())])

f_df=SQLContext(sc).createDataFrame(f_rdd,schema)

schema=StructType([StructField('userid',StringType()),StructField('request_date',StringType())])

r_df=SQLContext(sc).createDataFrame(r_rdd,schema)

#将两个df合并

f_df=f_df.select("*").toPandas()

r_df=r_df.select("*").toPandas()

pd_df=pd.merge(r_df,f_df)#计算距离首次访问时间天数

pd_df["first_date"]=pd.to_datetime(pd_df["first_date"])

pd_df["request_date"]=pd.to_datetime(pd_df["request_date"])

pd_df['days']=pd_df["request_date"]-pd_df["first_date"]

#创建透视表

data=pd.pivot_table(pd_df,values='userid',index='first_date',columns='days',aggfunc=lambdax:len(x.unique()),fill_value='').reset_index()

#将单元格改为数值格式,用于后续计算留存比例

data=data.applymap(lambdax:pd.to_numeric(x,errors='ignore'))

#留存率计算,用1days列除以0days为次日留存率,依次类推

create_index=data.columns

pd_df=data.iloc[:,[0,1]]

#这里我们只算到7日留存率

foriinrange(2,8):

s=data[create_index[i]]/data[create_index[1]]

pd_df=pd.concat([pd_df,s],axis=1)

pd_df.columns=['日期','访问人数','次日留存率','3日留存率','4日留存率','5日留存率','6日留存率','7日留存率']

pd_df.to_csv("/home/ysedu/answer/"+sys._getframe().f_code.co_name+".csv")根据stat_result目录中的total_stat数据,在jupyter中编写程序并使用pyecharts柱状图展示为总访问次数和总访问人数两列。参考答案:#整体pvuv(表格)total_stat

title=["总访问次数","总访问人数"]

df=pd.read_csv('stat_result/total_stat',sep='\t',header=None

,names=title)

y_data=[int(df.loc[0][0]),int(df.loc[0][1])]

total_stat=(Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))

.add_xaxis(title)

.add_yaxis('',y_data)

.set_global_opts(title_opts=opts.TitleOpts(title="整体访问PV/UV数据",subtitle="总访问次数/总访问人数",pos_left='center'))

)

total_stat.render_notebook()项目五:Plotly应用选择题本任务中使用express绘制柱状图时,调用的函数是(B)express.Barexpress.barexpress.histogramexpress.Histogram本任务中使用graph_objs绘制柱状图时,调用的函数是(A)plotly.graph_objects.Barplotly.graph_objects.barplotly.graph_objects.Histogramplotly.graph_objects.histogram使用express绘制柱状图时,barmode参数设置为group时,绘制的是?(B)叠加柱状图并列柱状图覆盖柱状图相对柱状图(多选)本任务中使用graph_objs绘制散点图时,marker参数的作用有(ACD)调整数据节点大小调整数据节点透明度调整数据节点颜色调整数据节点格式(多选)fig.update_layout中的font参数具有哪些取值?(ABC)colorfamilysizesite要设置直方图的透明度,需要控制哪个参数?(A)opacitycolor_discrete_sequencecategory_ordersbarmode绘制环形饼图时,控制环形饼图内径孔的半径的参数,他的默认值为0,取值范围是多少?(D)0~100~50~200~1以下参数,哪个是在绘制双坐标轴图时用于设置标题格式的?(D)ticktitletickfonttitlefont实操练习题1. 使用任务5.1.2中的数据,绘制带文本条柱状图。参考答案:importpandasaspd

importnumpyasnp

importplotly.expressaspx

importpymysql

importsqlalchemyassql

importwarnings

warnings.filterwarnings("ignore")

engine=sql.create_engine('mysql+pymysql://root:root@localhost:3306/bdv')

sql1='''select*from1_plastic'''

df=pd.read_sql(sql1,engine)

fig=px.bar(df,

x=df["时间"],

y=df["农用塑料薄膜使用量(吨)"],text_auto=True)

fig.update_layout(font_size=22,legend=dict(

orientation="h",

yanchor="bottom",

y=-0.2,

xanchor="center",

x=0.5,

title_text=''

))

fig.update_xaxes(

side='bottom',

title={'text':''}

)

fig.update_yaxes(

side='left',

title={'text':''}

)

fig.update_layout(

title={

'text':"2012年~2019年农用塑料薄膜使用量",

'y':0.95,

'x':0.5

})

fig.show()2. 使用任务5.1.3中的数据,绘制图例在上方的堆叠柱状图。参考答案:importplotlyaspy

importplotly.graph_objsasgo

importpandasaspd

importnumpyasnp

importpymysql

importsqlalchemyassql

importwarnings

warnings.filterwarnings("ignore")

engine=sql.create_engine('mysql+pymysql://root:root@localhost:3306/bdv')

sql1='''select*from1_nlmy'''

df=pd.read_sql(sql1,engine)

trace0=go.Bar(x=df["year"],y=df["ny"],name="农业总产值")

trace1=go.Bar(x=df["year"],y=df["ly"],name="林业总产值")

trace2=go.Bar(x=df["year"],y=df["my"],name="牧业总产值")

trace3=go.Bar(x=df["year"],y=df["yy"],name="渔业总产值")

data=[trace0,trace1,trace2,trace3]

layout=go.Layout(title='农林牧渔',barmode='stack',font={'size':22})

fig=go.Figure(data=data,layout=layout)

fig.update_layout(font_size=22,legend=dict(

orientation="h",

yanchor="bottom",

y=1.2,

xanchor="center",

x=0.5,

title_text=''

))

fig.update_xaxes(

side='bottom',

title={'text':''}

)

fig.update_yaxes(

side='left',

title={'text':''}

)

fig.update_layout(

title={

'text':"2012年~2021年农林牧渔业总产值",

'y':0.9,

'x':0.5

})

fig.show()3. 使用任务5.1.4中的数据,用express绘制并列柱状图。参考答案:importplotlyaspy

importplotly.expressaspx

importplotly.graph_objsasgo

importpandasaspd

importnumpyasnp

importpymysql

importsqlalchemyassql

importwarnings

warnings.filterwarnings("ignore")

engine=sql.create_engine('mysql+pymysql://root:root@localhost:3306/bdv')

sql1='''select*from1_fruits'''

df=pd.read_sql(sql1,engine)

trace0=go.Bar(x=df["year"],y=df["gy"],name="果园面积")

trace1=go.Bar(x=df["year"],y=df["xj"],name="香蕉园面积")

trace2=go.Bar(x=df["year"],y=df["pg"],name="苹果园面积")

trace3=go.Bar(x=df["year"],y=df["gj"],name="柑橘园面积")

trace4=go.Bar(x=df["year"],y=df["ly"],name="梨园面积")

trace5=go.Bar(x=df["year"],y=df["pt"],name="葡萄园面积")

data=[trace0,trace1,trace2,trace3,trace4,trace5]

fig=go.Figure(data)

fig.update_layout(barmode='group')

layout=go.Layout(title='果园面积',barmode='group',font={'size':22})

fig=go.Figure(data=data,layout=layout)

fig.update_layout(font_size=22,legend=dict(

orientation="h",

yanchor="bottom",

y=-0.4,

xanchor="center",

x=0.5,

title_text=''

))

fig.update_xaxes(

side='bottom',

title={'text':''}

)

fig.update_yaxes(

side='left',

title={'text':''}

)

fig.update_layout(

title={

'text':"2012年~2019年果园面积",

'y':0.9,

'x':0.5

})

fig.show()项目六:Plotly实战选择题常用的清洗数据的包是?(A)PandasMatplotlibSeabornRequest以下哪个Pandas方法能返回数据的行数和列数?(A)pd.shapepd.head()pd.tail()pd.drop()以下哪个Pandas方法能够删除缺失数据?(B)pd.drop()pd.dropna()pd.delete()pd.loc()Plotly绘制饼图的方法,需要使用graph_objs中的哪个函数?(A)Pie()Scatter()Bar()Histogram()Plotly绘制柱状图的方法,需要使用graph_objs中的哪个函数?(D)Scatter()Histogram()Pie()Bar()与用户画像中无关的是以下哪个选项?(D)数据清洗和预处理数据可视化

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论