-
2020-10-16 17:53:12
动态数据可视化图表制作的5个基本流程:原始数据分析、确定所需图表类型、导入数据,进行初步优化、整体优化和检验成效这五个流程。
1.原始数据分析:
明确动态数据分析并清楚认识到数据的类型、与其他数据之间的关联、需要哪些数据元素、舍弃哪些数据元素等等。最后需要分析出需要的数据、关联的数据、涉及数据的可视化因素等。
2.确定所需图表类型:
在制作动态数据可视化图表时,可能多个元素需要对应多个类型的图表,大家在选择时,不一定非要把所有的数据都放进一张图里,分开选择也是不错的。比如,用地图表征地点,用折线图表征发展趋势等等,最终的目的是对我们第一步中选取得数据进行彻底全面的动态数据分析。
3.导入数据,进行初步优化
在动态数据可视化图表有初期雏形之后,大家需对图表的风格下个定论,比如它们是什么色系的;要不要做实时动态数据可视化图表;在哪块加上喜欢的特效等等。
4.整体优化
这是一个持续调节的过程,最终期望的效果是甲方和乙方都满意,故需要慢慢对动态数据可视化图表进行外观等方面的打磨。
5.检验成效
首先,确定数据动态可视化图表的内容是否满足用户需求,其次是在电脑等端口运行数据动态可视化图表是否正常;整体色调、特效等是否合适;客户等是否能看懂该数据动态可视化图表。
数据动态可视化图表完成起來并不简单,除开时间序列分析的数据信息,也有动态性相对路径数据信息、即时运动轨迹数据信息这些,都必须动态性专用工具。关于如何选择数据可视化工具,总体而言,主流BI产品在选择的时候要除了需要考虑从数据到展现、从公司内到公司外等各种场景,需要考虑以下几点:
1:以后的数据处理能力,是否能够在大批量,上亿条数据的情况下给出解决方案;
2:BI的侧重点是不是和公司的需求匹配,如报表智能预警还是预测分析或者是数据挖掘;
3:BI厂商的创新能力和迭代速度,因为BI发展太过迅速,没人想买一个产品刚刚部署用了好长时间没有更新的;
4:移动办公支持能力;
5:最重要的,BI厂商的服务水平,作为B端产品,更新迭代这么快,又这么复杂,肯定面临着学习成本高,同时还容易出现bug,这种情况下BI厂商的服务能够解决一切!
数据实时刷新的问题,其实现在很多产品都已经能够满足要求了,Smartbi数据可视化工具就是其中之一,不光能够实时刷新数据还可自行定义刷新间隔时间等。它小到填报、查询、部署、集成,大到可视化大屏、dashboard驾驶舱,应有尽有,功能很强大。最重要的是,因为这个工具,整个公司的数据架构都可以变得规范,下一步就是构建企业的大数据平台了。而且它是java编写的,支持二次开发,类Excel的设计器,无论是IT还是业务,上手都很简单:编辑sql优化、数据集复用简直都是小case,大大降低了报表开发的门槛。在企业中被关注最多的数据安全方面,Smartbi支持多人同时开发同一套报表,并通过模板加锁功能防止编辑冲突;通过数据分析权限控制,保障数据安全。
更多相关内容 -
利用Python制作动态排名图的实现代码
2020-12-20 10:43:36大家好,今天我们要讲的是如何使用 Pyecharts 制作动态排名变化图:point_down: 制作这样的一个动态图使用到的是 Pyecharts中的TimeLine(时间线轮播图) ,代码实现起来其实稍有难度,但我希望能 通过讲解这样一张... -
无需写代码,又一个数据动态图制作利器
2022-01-18 08:28:04一个非常容易上手的在线可视化工具 (大部分功能免费)、制作的图表具有动画与交互属性,各种短视频上的动态数据图都可见其身影。本次分享Flourish动态图保姆级教程,
以1949~2021人口增长率为例
。Flourish是一个非常容易上手的在线可视化工具 (大部分功能免费)、制作的图表具有动画与交互属性,各种短视频上的动态数据图都可见其身影。
Flourish软件初衷:Allow non-coders to create high-end visualizations and stories without the cost and delays of commissioning bespoke projects.
本文以一个案例,手把手分享Flourish的使用,效果图,
详细步骤
step1 Flourish网站
-
让数据“动”起来:python动态图表制作
2020-08-23 10:00:00选自TowardsDataScience作者:Costas Andreou机器之心编译参与:Jamin、张倩在读技术博客的过程中,我们会发现那些能够把知识、成果讲透的博主很多都会做动态图...选自TowardsDataScience
作者:Costas Andreou
机器之心编译
参与:Jamin、张倩
在读技术博客的过程中,我们会发现那些能够把知识、成果讲透的博主很多都会做动态图表。他们的图是怎么做的?难度大吗?这篇文章就介绍了 Python 中一种简单的动态图表制作方法。
数据暴增的年代,数据科学家、分析师在被要求对数据有更深的理解与分析的同时,还需要将结果有效地传递给他人。如何让目标听众更直观地理解?当然是将数据可视化啊,而且最好是动态可视化。
本文将以线型图、条形图和饼图为例,系统地讲解如何让你的数据图表动起来。
这些动态图表是用什么做的?
接触过数据可视化的同学应该对 Python 里的 Matplotlib 库并不陌生。它是一个基于 Python 的开源数据绘图包,仅需几行代码就可以帮助开发者生成直方图、功率谱、条形图、散点图等。这个库里有个非常实用的扩展包——FuncAnimation,可以让我们的静态图表动起来。
FuncAnimation 是 Matplotlib 库中 Animation 类的一部分,后续会展示多个示例。如果是首次接触,你可以将这个函数简单地理解为一个 While 循环,不停地在 “画布” 上重新绘制目标数据图。
如何使用 FuncAnimation?
这个过程始于以下两行代码:
import matplotlib.animation as ani animator = ani.FuncAnimation(fig, chartfunc, interval = 100)
从中我们可以看到 FuncAnimation 的几个输入:
fig 是用来 「绘制图表」的 figure 对象;
chartfunc 是一个以数字为输入的函数,其含义为时间序列上的时间;
interval 这个更好理解,是帧之间的间隔延迟,以毫秒为单位,默认值为 200。
这是三个关键输入,当然还有更多可选输入,感兴趣的读者可查看原文档,这里不再赘述。
下一步要做的就是将数据图表参数化,从而转换为一个函数,然后将该函数时间序列中的点作为输入,设置完成后就可以正式开始了。
在开始之前依旧需要确认你是否对基本的数据可视化有所了解。也就是说,我们先要将数据进行可视化处理,再进行动态处理。
按照以下代码进行基本调用。另外,这里将采用大型流行病的传播数据作为案例数据(包括每天的死亡人数)。
import matplotlib.animation as ani import matplotlib.pyplot as plt import numpy as np import pandas as pdurl = 'https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv' df = pd.read_csv(url, delimiter=',', header='infer')df_interest = df.loc[ df['Country/Region'].isin(['United Kingdom', 'US', 'Italy', 'Germany']) & df['Province/State'].isna()]df_interest.rename( index=lambda x: df_interest.at[x, 'Country/Region'], inplace=True) df1 = df_interest.transpose()df1 = df1.drop(['Province/State', 'Country/Region', 'Lat', 'Long']) df1 = df1.loc[(df1 != 0).any(1)] df1.index = pd.to_datetime(df1.index)
绘制三种常见动态图表
动态线型图
如下所示,首先需要做的第一件事是定义图的各项,这些基础项设定之后就会保持不变。它们包括:创建 figure 对象,x 标和 y 标,设置线条颜色和 figure 边距等:
import numpy as np import matplotlib.pyplot as pltcolor = ['red', 'green', 'blue', 'orange'] fig = plt.figure() plt.xticks(rotation=45, ha="right", rotation_mode="anchor") #rotate the x-axis values plt.subplots_adjust(bottom = 0.2, top = 0.9) #ensuring the dates (on the x-axis) fit in the screen plt.ylabel('No of Deaths') plt.xlabel('Dates')
接下来设置 curve 函数,进而使用 .FuncAnimation 让它动起来:
def buildmebarchart(i=int): plt.legend(df1.columns) p = plt.plot(df1[:i].index, df1[:i].values) #note it only returns the dataset, up to the point i for i in range(0,4): p[i].set_color(color[i]) #set the colour of each curveimport matplotlib.animation as ani animator = ani.FuncAnimation(fig, buildmebarchart, interval = 100) plt.show()
动态饼状图
可以观察到,其代码结构看起来与线型图并无太大差异,但依旧有细小的差别。
import numpy as np import matplotlib.pyplot as pltfig,ax = plt.subplots() explode=[0.01,0.01,0.01,0.01] #pop out each slice from the piedef getmepie(i): def absolute_value(val): #turn % back to a number a = np.round(val/100.*df1.head(i).max().sum(), 0) return int(a) ax.clear() plot = df1.head(i).max().plot.pie(y=df1.columns,autopct=absolute_value, label='',explode = explode, shadow = True) plot.set_title('Total Number of Deaths\n' + str(df1.index[min( i, len(df1.index)-1 )].strftime('%y-%m-%d')), fontsize=12)import matplotlib.animation as ani animator = ani.FuncAnimation(fig, getmepie, interval = 200) plt.show()
主要区别在于,动态饼状图的代码每次循环都会返回一组数值,但在线型图中返回的是我们所在点之前的整个时间序列。返回时间序列通过 df1.head(i) 来实现,而. max()则保证了我们仅获得最新的数据,因为流行病导致死亡的总数只有两种变化:维持现有数量或持续上升。
df1.head(i).max()
动态条形图
创建动态条形图的难度与上述两个案例并无太大差别。在这个案例中,作者定义了水平和垂直两种条形图,读者可以根据自己的实际需求来选择图表类型并定义变量栏。
fig = plt.figure() bar = ''def buildmebarchart(i=int): iv = min(i, len(df1.index)-1) #the loop iterates an extra one time, which causes the dataframes to go out of bounds. This was the easiest (most lazy) way to solve this :) objects = df1.max().index y_pos = np.arange(len(objects)) performance = df1.iloc[[iv]].values.tolist()[0] if bar == 'vertical': plt.bar(y_pos, performance, align='center', color=['red', 'green', 'blue', 'orange']) plt.xticks(y_pos, objects) plt.ylabel('Deaths') plt.xlabel('Countries') plt.title('Deaths per Country \n' + str(df1.index[iv].strftime('%y-%m-%d'))) else: plt.barh(y_pos, performance, align='center', color=['red', 'green', 'blue', 'orange']) plt.yticks(y_pos, objects) plt.xlabel('Deaths') plt.ylabel('Countries')animator = ani.FuncAnimation(fig, buildmebarchart, interval=100)plt.show()
在制作完成后,存储这些动态图就非常简单了,可直接使用以下代码:
animator.save(r'C:\temp\myfirstAnimation.gif')
感兴趣的读者如想获得详细信息可参考:
https://matplotlib.org/3.1.1/api/animation_api.html
原文链接:
https://towardsdatascience.com/learn-how-to-create-animated-graphs-in-python-fce780421afe
---------End---------
顺便给大家推荐下我的微信视频号「价值前瞻」,主要分享读书、成长和投资思考,可以了解不一样的我,欢迎扫码关注。
-
Python股票数据分析,制作动态柱状图
2022-03-19 15:39:40雪球一直致力于为中国投资者提供跨市场(沪深、香港、美国),跨品种(股票、基金、债券等)的数据查询、资讯获取和互动交流以及交易服务。 模块使用 requests >>> pip install requests (数据请求 第三...前言
雪球成立于 2010 年 ,是北京雪球信息科技有限公司旗下推出的投资者社区。雪球一直致力于为中国投资者提供跨市场(沪深、香港、美国),跨品种(股票、基金、债券等)的数据查询、资讯获取和互动交流以及交易服务。
模块使用
requests >>> pip install requests (数据请求 第三方模块)
re # 正则表达式 去匹配提取数据
json
pandas
pyecharts开发环境
Python 3.8 解释器
Pycharm 2021.2 版本代码实现步骤
- 发送请求 访问网站
- 获取数据
- 解析数据(提取数据)
- 保存数据
- 做柱状图 简单的可视化
开始代码
1. 发送请求 访问网站
headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36' } url = 'https://xueqiu.com/service/v5/stock/screener/quote/list?page=1&size=30&order=desc&order_by=amount&exchange=CN&market=CN&type=sha&_=1641730868838' response = requests.get(url=url, headers=headers)
2. 获取数据
json_data = response.json()
3. 数据解析(筛选数据)
data_list = json_data['data']['list'] for data in data_list: data1 = data['symbol'] data2 = data['name'] data3 = data['current'] data4 = data['chg'] data5 = data['percent'] data6 = data['current_year_percent'] data7 = data['volume'] data8 = data['amount'] data9 = data['turnover_rate'] data10 = data['pe_ttm'] data11 = data['dividend_yield'] data12 = data['market_capital'] print(data1, data2, data3, data4, data5, data6, data7, data8, data9, data10, data11, data12) data_dict = { '股票代码': data1, '股票名称': data2, '当前价': data3, '涨跌额': data4, '涨跌幅': data5, '年初至今': data6, '成交量': data7, '成交额': data8, '换手率': data9, '市盈率(TTM)': data10, '股息率': data11, '市值': data12, } csv_write.writerow(data_dict)
4. 保存地址
file = open('data2.csv', mode='a', encoding='utf-8', newline='') csv_write = csv.DictWriter(file, fieldnames=['股票代码','股票名称','当前价','涨跌额','涨跌幅','年初至今','成交量','成交额','换手率','市盈率(TTM)','股息率','市值']) csv_write.writeheader()
运行代码,查看效果
5. 数据可视化
data_df = pd.read_csv('data2.csv') df = data_df.dropna() df1 = df[['股票名称', '成交量']] df2 = df1.iloc[:20] print(df2['股票名称'].values) print(df2['成交量'].values) c = ( Bar() .add_xaxis(df2['股票名称'].values.tolist()) .add_yaxis("股票成交量情况", df2['成交量'].values.tolist()) .set_global_opts( title_opts=opts.TitleOpts(title="成交量图表 - Volume chart"), datazoom_opts=opts.DataZoomOpts(), ) .render("data.html") ) print('数据可视化结果完成,请在当前目录下查找打开 data.html 文件!')
-
动态图表,用表单控件制作的条形动态图,可以根据滚动条和选择框自主选则数据
2019-01-13 12:53:35运用表单控件来控制所选区域,运用offset函数来确定区域,做出美观的动态图表。 -
Excel数据动态看板制作:数据处理、数据分析、看板制作、插入切片器、图表类型
2021-10-02 16:24:06Excel数据动态看板制作-以教师薪酬统计为例 原始数据如图所示: 一、数据处理 1、工龄计算:=DATEDIF(G3,TODAY(),“Y”) 2、工龄工资计算:=IF(H350>500,500,H350) 3、出勤率计算: (1)插入列:起始日期,... -
纯CSS3制作动态3D柱状图形数据表
2019-11-24 11:57:46纯CSS3制作动态3D柱状图形数据表 -
让数据动起来:Python动态图表制作!
2020-12-24 08:44:40在读技术博客的过程中,我们会发现那些能够把知识、成果讲透的博主很多都会做动态图表。他们的图是怎么做的?难度大吗?这篇文章就介绍了 Python 中一种简单的动态图表制作方法。数据暴增的年... -
使用Python获取最新疫情数据,制作可视化动态地图,实时展示各地情况
2022-04-29 15:02:30愿世界再无病痛,盼疫情早日结束序言效果展示准备工作代码展示 ...以及柱状图 还等什么,我们直接开始把~ 准备工作 涉及知识点 爬虫基本流程 requests 发送请求 re 正则表达式 json 结构化数据解析 py -
axure9数据可视化的动态元件库.rp
2021-09-04 14:37:56专门针对Axure制作的动态图表元件库,能否帮助产品经理更高效地制作高保真图表原型,是有追求的产品经理必备元件工具。2. 设计原理 整体设计基于易用性考虑,每个元件均包含图表容器、样式配置、数据配置三个部分,... -
arcgis-dynamictables:使用数据驱动页面在 ArcGIS 中构建动态表
2021-06-01 16:50:08动态表 对地图布局的修改不仅限于用户在 ArcMap 中可以执行的操作。 ArcPy 提供了一些强大的工具,不仅用于操作图层,还用于更改地图文档中元素的外观和内容。 下面的代码和文档演示了如何在地图上构建表格,以响应... -
jquery+css3动态数据百分比进度条对比代码
2020-06-10 13:45:15一款类似仿QQPK对比的jquery+css3动态数据百分比进度条对比代码插件下载。 -
《左手数据,右手图表——Excel动态图表制作与职场数据沟通-徐军泰》.pdf
2019-07-12 09:26:03在职场中,作为职员,我们每个人都渴望 被认可、被欣赏,精神上的鼓励是我们自我提 升和前进的重要动力。也是因为领导的认可, 笔者更加意识到动态图表的价值,尤其是在职 场、在数据可视化领域中带来的强烈冲击 -
vue+echarts动态获取数据制作饼状图
2021-01-19 23:41:28最近自学了一下如何运用echarts制作各种图表,首先我是用springboot+mybatis写的后端。 TypeMapper接口中定义方法如下: /** * 查询新闻种类以及数量 * @return */ List<Map<Object,Object>> list... -
[Excel VBA]如何制作动态数据图表?
2019-06-02 09:44:28藉由動態圖表明顯可知,在1998年~2017年間,臺中市的工作年齡人口(15歲~64歲)持續不斷增加,並於2017年正式超越高雄市,位居第二順位。 -----如果文章對您有幫助,打開微信掃一掃,請作者喝杯咖啡。----- -
Excel使用数据透视图配合切片器制作动态数据图表
2017-08-28 09:55:41EXCEL中制作动态数据图表非常简单,一学就会,操作版本要求EXCEL2010版及以上。会涉及到数据透视图及切片器的使用 基础数据: 年份 材料 人工 费用 成本合计 销售额 利润 2014年 450 200 350 ... -
pyecharts+flask制作数据大屏(ajax动态刷新数据)
2021-11-10 15:31:031.2知识准备 pyecharts:能够绘制一些基本图形,按照官方文档能够实现动态刷新数据,具体的图表用到的时候具体研究。 flask:安装能够创建项目运行就可以,需要明白网页访问时的路由关系,对应调用python函数。 ... -
【数据可视化】超燃动态排名条形图的制作方法
2020-11-23 17:20:10做为干数据分析的,数据可视化是必备的技能,最近经常在网上看到动态排名条形图,这种动态排名条形图能很好的表达在某一个时间周期,随着时间的变化,各参数指标的增减变化,形象直观,让人很容易理解。加上BGM(背景... -
Excel数据分析高级技巧①——动态图表制作(offset,vlookup,控件…)
2019-05-21 22:50:46本文总结三种常用的动态图表制作方法:数据透视表+切片器,vlookup+match+数据验证,Offset 一、数据透视表+切片器 1、查看原始文件——一份不同城市的近几月的销量记录表 2、建立数据透视表——全选数据-插入-数据... -
Unity如何免费持续获取卫星云图、雷达云图等天气数据图片,制作动态天气应用
2019-06-08 12:58:331.确定需要的数据,天气状况、最高/最低气温、当前气温、大气压、湿度、降水量、能见度、当前风向风速、PM2.5、卫星云图、雷达回波。 2.前面的我觉得只要能打开浏览器都能搞定,找相关的数据接口,api。网上有很多,... -
可视化篇(三)———使用Excel绘制动态数据分布饼图
2020-09-12 16:24:45可视化篇(三)———使用Excel绘制动态数据分布饼图摘要(一)问题引入(三)通过偏移引用函数offset创建偏移量(五)将偏移量字段插入数据透视表并作出饼图(六)3d图中绘制三角表面图(七)3d图中绘制等高线(八... -
141178万人, pyechart制作第七次人口普查数据动态图
2021-05-15 22:37:40import pandas as pd import numpy as np from pyecharts import options as opts from pyecharts.charts import Map, Bar,Line,Pie 调用pyechart中的中国地图, 柱形图, 线形图, 饼图 2.2 读取数据 data = pd.read_... -
让Python绘制一套动态图形给你看看
2021-02-04 09:24:03选自TowardsDataScience...这篇文章就介绍了 Python 中一种简单的动态图表制作方法。看这优美的舞姿数据暴增的年代,数据科学家、分析师在被要求对数据有更深的理解与分析的同时,还需要将结果有效地传递给他人。... -
python画数据流动的动态图——类似动态心电图
2020-11-16 22:03:11仅作为保存,大佬请跳过。 感谢大佬博主博文: matplotlib.animation制作动画实现流式数据实时监控 plt.ion()画动图 其他收藏: 可视化篇:流式数据监控(python) python 读取txt心率数据,画图表显示 ... -
如何制作动态条形图
2020-04-23 12:55:38在网上看到动态的条形图,很好奇是怎么制作的,经过1天呕心沥血的查询资料,也勉强制作了一个动态条形图,想学的同学可以参考…(好意思说)。 下载网址 自己百度?我觉得还是要锻炼你们的搜索信息能力,不能惯着!... -
数据可视化之美-动态图绘制(以Python为工具)
2022-05-02 15:22:51可视化是数据描述的图形表示,旨在一目了然地揭示数据中的复杂信息。数据可视化在讲故事中的重要性不言而喻。 -
如何快速制作一张数据地图,收藏这10张模板就够了
2019-09-26 09:18:44怎么样快速做一个数据地图? 大家第一时间想到的可能是万能的Excel。 我自己也试着用Excel做了下,发现过程还比较复杂: “先要用绘制地图图形 + VBA,用插入图形"任意多边形"绘制地图; 每一个"任意多边形... -
数据分析——用tableau制作动态可视化数据仪表盘
2021-02-27 11:58:31制作成果 什么?只有图片?? 别急,视频链接放在下面咯!各位看官自行跳转哦! 关于视频的制作,请各位看官到B站自行搜索学习哦…