Python怎么做数据动态图,代码是什么
Admin 2022-08-02 群英技术资讯 976 次浏览
多子图联动竞赛图
pip install pandas_alive #或者 conda install pandas_alive -c conda-forge
支持数据
数据格式如下,
使用方法类似pandas这些,pandas仅需一行代码解决支持图形类别
结合geopandas,
import pandas as pd import pandas_alive import matplotlib.pyplot as plt plt.style.use('ggplot') #读入数据 elec_df = pd.read_csv("Aus_Elec_Gen_1980_2018.csv", index_col=0, parse_dates=[0], thousands=',') #定义求和def def current_total(values): total = values.sum() s = f'Total : {int(total)}' return {'x': .85, 'y': .2, 's': s, 'ha': 'right', 'size': 11} #缺省值0填充、绘图 elec_df.fillna(0).tail(n=10).plot_animated( 'electricity-generated-australia.gif', #保存gif名称 period_fmt="%d/%m/%Y", #动态更新图中时间戳 title='Australian Electricity Sources 1980-2018', #标题 perpendicular_bar_func='mean', #添加均值辅助线 period_summary_func=current_total, #汇总 cmap='Set1', #定义调色盘 n_visible=5, #柱子显示数 orientation='h',#柱子方向 )
elec_df.diff().fillna(0).tail(n=10).plot_animated(filename='line-chart.gif', kind='line',#指定折线模式 cmap='Set1', period_label={ 'x': 0.25, 'y': 0.9 }, line_width=1, add_legend=True, fill_under_line_color='#01a2d9')
import pandas_alive covid_df.sum(axis=1).fillna(0).tail(n=10).plot_animated( filename='sumbar-chart.gif', kind='bar', #指定bar模式 cmap='Set1', #定义调色盘 period_label={ 'x': 0.1, 'y': 0.9 }, orientation='h', enable_progress_bar=True, steps_per_period=2, interpolate_period=True, period_length=200)
import pandas as pd import pandas_alive #max散点数据 max_temp_df = pd.read_csv( "Newcastle_Australia_Max_Temps.csv", parse_dates={"Timestamp": ["Year", "Month", "Day"]}, ) #min散点数据 min_temp_df = pd.read_csv( "Newcastle_Australia_Min_Temps.csv", parse_dates={"Timestamp": ["Year", "Month", "Day"]}, ) #按时间戳merge max/min数据 merged_temp_df = pd.merge_asof(max_temp_df, min_temp_df, on="Timestamp") merged_temp_df.index = pd.to_datetime( merged_temp_df["Timestamp"].dt.strftime('%Y/%m/%d')) keep_columns = [ "Minimum temperature (Degree C)", "Maximum temperature (Degree C)" ] merged_temp_df.head(n=5000)[keep_columns].resample("Y").mean().plot_animated( filename='scatter-chart.gif', cmap='Set1', kind="scatter",#指定散点模式 size=10, title='Max & Min Temperature Newcastle, Australia')
import pandas_alive multi_index_df = pd.read_csv("multi.csv", header=[0, 1], index_col=0) multi_index_df.index = pd.to_datetime(multi_index_df.index, dayfirst=True) map_chart = multi_index_df.tail(n=40).plot_animated( kind="bubble", #指定气泡模式 filename="bubble-chart.gif", x_data_label="Longitude", y_data_label="Latitude", size_data_label="Cases", color_data_label="Cases", vmax=5, steps_per_period=1, interpolate_period=True, period_length=500, dpi=150)
这部分可以结合matplotlib的多子图绘制,实现各种个性化动图,可参考matplotlib-多子图绘制(为所欲为版),核心代码如下,
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
目录前言:实例1实例2前言:字符画:字符画是一系列字符的组合,我们可以把字符看作是比较大块的像素,一个字符能表现一种颜色,字符的种类越多,可以表现的颜色也越多,图片也会更有层次感
坐标轴对数据可视化效果有着直接的影响。坐标轴的刻度范围过大或过小、刻度标签过多或过少,都会导致图形显示的比例不够理想。本节将对坐标轴的刻度、刻度范围和刻度标签的设置进行讲解。
这篇文章主要介绍了Python中的字符串相似度,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
这篇文章主要介绍了利用Python实现动态化图表,文中的示例代码介绍详细,对我们的工作或学习有一定的价值,感兴趣的同学可以学习一下
ajax与django交互怎样实现?一些新手对于ajax与django的交互并不是很理解,下面小编就给大家介绍关于ajax与django交互的相关内容供大家参考学习,感兴趣的朋友们可以看看。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008