专栏首页M不作声毕业设计(六):数据可视化

毕业设计(六):数据可视化

pyecharts数据可视化

pyecharts是一个用于生成Echarts图表的类库。Echarts是百度开源的一个数据可视化JS库,主要用于数据可视化。实际是Echarts与Python的对接,使用pyecharts可以生成独立的网页。

pyechart可以做很多图表,毕业设计使用了三种简单的图表:折线图、饼状图、词云图。

pyecharts可以使用pip install pyecharts直接下载。

pyecharts官方文档地址:http://pyecharts.org/#/zh-cn/quickstart

折线图

这是一张关于电视剧评分的折线图。横坐标是电视剧评分,纵坐标是电视剧的数量。

需要导入的库有两个:

import pyecharts.options as opts
from pyecharts.charts import Line

第一个库生成图表的名字,第二个库选择使用的图表类型。

表里的数据就是前边使用爬虫爬下来的数据,所以连接数据库获取数据,这里直接略过。

# 横纵坐标的处理
xli = []
yli = [0]*100

for i in arange(1, 101):
    xli.append(str(float(i)/10))
for j in ret:
    yli[int(float(j[0])*10)] += 1

# 插入横纵坐标,同时设置图名,最后渲染生成一个HTML文件
l = (
    Line()
    .add_xaxis(xli)            # x轴坐标点必须是string类型
    .add_yaxis("电视剧部数", yli, is_smooth=True)
    .set_global_opts(title_opts=opts.TitleOpts(title="电视剧评分分布图"))
    .render('rateLine.html')
)

这段代码最后生成一个HTML文件,在HTML文件中有一些动画,可以更好的观察数据。也可以生成图片,但是要下载额外的库。

饼状图

对于这个毕业设计,可以使用饼状图分析电视剧的类型和电视剧的拍摄国家或地区。

# 数据处理
data = []
for i in ret:
  data.append(i[0].split('/')[0])

newdata = []
num_count = Counter(data)
for item in num_count:
  newdata.append([item, num_count[item]])

def Pie1():
  pie = (
  Pie()
  .add("", newdata)
  .set_global_opts(title_opts=opts.TitleOpts(title="Pie-国家或地区"),legend_opts=opts.LegendOpts(pos_left=160))
  .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}")))
  return pie

Pie1().render('c_or_rPie.html')

饼状图需要将一个[(key1, value1), (key1, value1),…]类型的数据传入饼状图。这里使用一个Counter计数器,之后在将数据放到一个数组中,其他没有跟折线图都没有太大的差别。

两个饼状图代码几乎一样,只需要变动数据库的查询语句,一个为select c_or_r另一个为selete tv_type

词云图

词云图接受一段文本,自动按空格划分出字或词。然后按词的出现频率设置不同的字体。

data = []
for i in ret:
  data.append(i[0].replace('/', ' '))
text = ' '.join(data)
# print(text)

wc = WordCloud(font_path='simsun.ttc', collocations=False, width=800, height=600, mode='RGBA', background_color=None).generate(text)

# 显示词云
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()

# 保存到文件
wc.to_file('C:\\Users\\1\\Desktop\\wcType.png')  # 生成图像是透明的
print("已生成词云图")

先使用select语句查询数据库,对每一条数据,用空格替换”/“字符,同时再将所有的数据都添加到一个字符串中,每两条数据之间使用空格隔开。将得到的字符串传给词云图。词云图可以直接生成图片格式。

虽然最后结果很丑,但可以用emmmm。

这次毕业设计大概就做了这么些东西,工作量确实不是很多,被收拾了。。。应该是没有后续了,代码地址:https://github.com/Bzsheng/bishe

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 72笔试面试题

    1、请描述cookie,sesstionStorage,localStorage三者之间的区别

    不作声
  • hexo博客中如何插入图片

    Hexo的博文是支持Markdown格式的,发表一篇文章只需要简简单单的几个命令。

    不作声
  • 再也不用怕面试问二叉树了

    二叉树是一种非常重要的数据结构。在算法题中经常会使用到,在面试中的占比也是非常大的。

    不作声
  • [大数据之Spark]——Actions算子操作入门实例

    Actions reduce(func) Aggregate the elements of the dataset using a function fun...

    用户1154259
  • pyecharts在数据可视化中的应用详解

    安装 pip install pyecharts 也可以在pycharm软件里进行下载pyecharts库包。 下载成功后进行查询版本号

    砸漏
  • 用R语言对上海市链家二手房数据分析

    via : https://mp.weixin.qq.com/s/DS4fFs0-rLD0UPkdTwQ5k

    机器学习AI算法工程
  • (数据科学学习手札17)线性判别分析的原理简介&Python与R实现

    之前数篇博客我们比较了几种具有代表性的聚类算法,但现实工作中,最多的问题是分类与定性预测,即通过基于已标注类型的数据的各显著特征值,通过大量样本训练出的模型,来...

    Feffery
  • TCGA生存分析②

    接上文,Kaplan-Meier曲线有助于可视化两个分类组之间的生存差异,当你设置参数pval = TRUE时,可以获得的对数秩检验值有助于探讨不同组之间的生存...

    用户1359560
  • 详尽! Win10安装Java8+Tomcat9!

    Java也好, Tomcat也好, 都是很实用的啦, 早点掌握还是有必要的. 喜欢记得点赞哦, 有意见或者建议评论区哦, 当然暗中关注我也是可以的.

    sean_yang
  • Python网络爬虫(四)- XPath1.XPath2.XPath在python中的应用

    XPath 即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。它使用路径表达式来选取 XML 文档中的节点...

    Python攻城狮

扫码关注云+社区

领取腾讯云代金券