用Pyecharts做数据可视化,惊艳的你不要不要的!
Posted python 青少年编程
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Pyecharts做数据可视化,惊艳的你不要不要的!相关的知识,希望对你有一定的参考价值。
极坐标图(Polar)
极坐标,属于二维坐标系统,创始人是牛顿,主要应用于数学领域。在平面直角坐标系中我们用x和y来确定一个点,而在极坐标中,我们通常用“角度”与“到原点的距离”来确定一个点。极坐标图的绘制方法与前面介绍的其它图形的绘制方法类似,也需要经过构建图像对象、添加绘图数据、设置绘图参数与生成图像这四个步骤来进行实现。看下面一个实例。
这里有一个Excel数据文件,具体数据如下图。
接下来,将以上Excel数据导入到Python中,然后,我们利用Pyecharts来绘制极坐标图,将其显示出来。具体绘制过程如下。
首先,定义一个函数,用于读取Excel中的某一列数据。
from pyecharts import charts
import random
from pyecharts import charts
from pyecharts import options as opts
from pyecharts.globals import ThemeType
from pyecharts import faker
import xlrd
def read_col_excel(column_number):
# 打开文件
workbook = xlrd.open_workbook(r'city_example.xls')
# 根据sheet索引或者名称获取sheet内容
sheet2 = workbook.sheet_by_index(0)
# 获取整行和整列的值(数组)
cols = sheet2.col_values(column_number) # 获取第四行内容
return cols
#极坐标图
radius =['2014年','2015年', '2016年', '2017年', '2018年', '2019年']
polar=charts.Polar(init_opts=opts.InitOpts(width='1500px',height='1200px',bg_color='#FFE4E1'))
polar.add_schema(radiusaxis_opts=opts.RadiusAxisOpts(data=radius,is_scale=False,),
angleaxis_opts=opts.AngleAxisOpts(axistick_opts=opts.AxisTickOpts(linestyle_opts=opts.LineStyleOpts(width=5)),
axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(width=5,color='#6A5ACD')),
axislabel_opts=opts.LabelOpts(font_size=20)))
for i in range(7):
data=read_col_excel(i)
city=data[0]
data.pop(0)
polar.add(city,data,type_='bar',stack='stack0')
print(city)
print(data)
polar.set_global_opts(legend_opts=opts.LegendOpts(pos_right='100px',pos_bottom='50px',textstyle_opts=opts.TextStyleOpts(font_size=15)),
yaxis_opts=opts.AxisOpts(min_=10,max_=150,is_show=True),
title_opts=opts.TitleOpts('Polar-示例图',subtitle='极坐标图',title_textstyle_opts=opts.TextStyleOpts(font_size=30)),)
polar.render_notebook()
关系图(Graph)
from pyecharts import options as opts
from pyecharts.charts import Graph
from pyecharts.globals import ThemeType
nodes = [
{"name": "结点1", "symbolSize": 30},
{"name": "结点2", "symbolSize": 10},
{"name": "结点3", "symbolSize": 20},
{"name": "结点4", "symbolSize": 10},
{"name": "结点5", "symbolSize": 10},
{"name": "结点6", "symbolSize": 10},
{"name": "结点7", "symbolSize": 10},
{"name": "结点8", "symbolSize": 30},
{"name": "结点9", "symbolSize": 10},
{"name": "结点10", "symbolSize": 30},
{"name": "结点11", "symbolSize": 10},
{"name": "结点12", "symbolSize": 30},
{"name": "结点13", "symbolSize": 10},
{"name": "结点14", "symbolSize": 30},
{"name": "结点15", "symbolSize": 10},
{"name": "结点16", "symbolSize": 30},
]
links = []
for i in range(len(nodes)):
#if i % 2 == 0:
for j in nodes:
links.append({"source": nodes[i]['name'], "target": j.get("name")})
graph= (
Graph(init_opts=opts.InitOpts(theme=ThemeType.DARK))
.add("节点间的指向关系", nodes, links, repulsion=8000,
linestyle_opts=opts.LineStyleOpts(width=2,type_='dot',color='#D2691E'),
label_opts=opts.LabelOpts(color='#0000FF',font_size=15,font_weight='bold'),edge_length=70,
)
.set_global_opts(title_opts=opts.TitleOpts(title="Graph-基本示例"))
.set_series_opts()
)
graph.render_notebook()
links = []
for i in range(len(nodes)):
for j in nodes:
links.append({"source": nodes[i]['name'], "target": j.get("name")})
links = []
for i in range(len(nodes)):
if i % 2 == 0:
for j in nodes:
links.append({"source": nodes[i]['name'], "target": j.get("name")})
-end-
Python 青少年编程
以上是关于用Pyecharts做数据可视化,惊艳的你不要不要的!的主要内容,如果未能解决你的问题,请参考以下文章