统计学第一周打卡:数据图表的展示
一、知识点汇总
描述数据一共有三种方式,分别是文字、表格和图表。在呈现数据图表中,我们首先需要对数据进行清洗、处理,其次将数据整理成表格,最终再根据数据要表达的结果选择合适的图表,进行展示说明。
数据格式分为两种:离散型数据、连续性数据。
图表的选择:可以参考下图。
二、python实现相关图表
以下展示个人使用pyecharts绘制的图表及部分代码。
#折线图
from pyecharts.charts import Line
def line_base() -> Line:
c = (
Line()
.add_xaxis(['2006','2007','2008','2009','2010','2011','2012','2013','2014','2015'])
.add_yaxis("农村村镇消费水平",['3066','3538','4065','4355','4456','4798','5200','5699','6079','6400'],is_smooth=True)
.add_yaxis("城镇居民消费水平",['10739','12867','14999','16504','18908','20666','23000','27654','29087','32998'],is_smooth=True)
.set_global_opts(title_opts=opts.TitleOpts(title="折线图示例"))
)
return c
line_base=line_base()
line_base.render()
#散点图
from pyecharts.charts import Scatter
def Scatter_base():
c=(
Scatter()
.add_xaxis(['6','8','10','13','14','16','21'])
.add_yaxis('降雨量',[25,40,58,68,110,98,120])
.set_global_opts(title_opts=opts.TitleOpts(title="散点图示例"))
)
return c
Scatter_base=Scatter_base()
Scatter_base.render()
#气泡图
from pyecharts.charts import Scatter
def Scatter_base():
c=(
Scatter()
.add_xaxis(['6','8','10','13','14','16','21'])
.add_yaxis('降雨量',[25,40,58,68,110,98,120])
.set_global_opts(
title_opts=opts.TitleOpts(title="气泡图示例"),
visualmap_opts=opts.VisualMapOpts(type_="size", max_=150, min_=20)
)
)
return c
Scatter_base=Scatter_base()
Scatter_base.render()
#柱状图
from pyecharts import options as opts
from pyecharts.charts import Bar
def bar_base():
c = (
Bar()
.add_xaxis(['2006','2007','2008','2009','2010','2011','2012','2013','2014','2015'])
.add_yaxis("农村村镇消费水平",['3066','3538','4065','4355','4456','4798','5200','5699','6079','6400'])
.add_yaxis("城镇居民消费水平",['10739','12867','14999','16504','18908','20666','23000','27654','29087','32998'])
.set_global_opts(title_opts=opts.TitleOpts(title="柱状图示例"))
)
return c
bar_base=bar_base()
bar_base.render()
以下为链接数据库后,进行的图表展示代码:
import pymysql # 导入模块
from pyecharts.charts import Bar
numlist1=[]
numlist2=[]
numlist3=[]
conn = pymysql.connect(
host='localhost', # 主机模块
port=3306, # 端口号
user='user',# 用户名
password='password', # 密码
database='db_test', # 需要连接的库
charset='utf8' # 指定编码utf8
)
cursor = conn.cursor() # 获取游标
try:
sql = "此处放入sql;"
ret = cursor.execute(sql) # ret 受影响的行数
result=cursor.fetchall() # 取出所有的
for result in result:
#print(result)
numlist1.append(result[0])
numlist2.append(result[2])
numlist3.append(result[3])
numlist22=list(map(int,numlist2))#转换格式
numlist33=list(map(int,numlist3))#转换格式
print(numlist1)
print(numlist22)
print(numlist33)
except:
print("未查询到数据!")
conn.rollback()
finally:
cursor.close() # 关闭游标
conn.close() # 关闭连接
bar = Bar()
bar.add_xaxis(numlist1)
bar.add_yaxis("未上线", numlist22)
bar.add_yaxis("未转入", numlist33)
bar.set_global_opts(title_opts=opts.TitleOpts(title='样例', subtitle='test'),xaxis_opts=opts.AxisOpts(name_rotate=60,axislabel_opts={"rotate":45}))
bar.render()
```python