前言

利用Python实现赛博朋克数据可视化,废话不多说~

让我们愉快地开始吧~

开发工具

Python版本: 3.6.4

相关模块:

mplcyberpunk模块;

matplotlib模块;

numpy模块;

以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

赛博朋克2077》是一款由CD Projekt RED开发的动作角色类游戏

虚拟和现实界限模糊,人工智能和人造人傻傻分不清楚,穷人和富人极度分化,到处充斥着恐怖主义。

这一期主要给大家介绍一款“赛博朋克”风格的Python库,mplcyberpunk

通过pip安装

# 安装
pip install mplcyberpunk

示例一

import matplotlib.pyplot as plt
import mplcyberpunk# 添加样式
plt.style.use("cyberpunk")plt.plot([1, 3, 9, 5, 2, 1, 1], marker='o')
plt.plot([4, 5, 5, 7, 9, 8, 6], marker='o')# 设置线条发光+面积图
mplcyberpunk.add_glow_effects()
plt.show()

线条发光的面积图

通过查看库的源码文件core.py,发现该库的两个主要功能

每个方法都用一次

import numpy as np
import mplcyberpunk
import matplotlib.pyplot as pltplt.style.use("cyberpunk")# 数据
x = np.arange(-7, 7, 0.1)
y1 = np.sin(x)
y2 = np.sin(x) + x
y3 = np.sin(x) * x
y4 = np.sin(x) / x
plt.plot(x, y1)
plt.plot(x, y2)
plt.plot(x, y3)
plt.plot(x, y4)# 线条发光
mplcyberpunk.make_lines_glow()
# 面积图
mplcyberpunk.add_underglow()# 保存图片
plt.savefig("defalut.png")

第默认格式

添加线条发光

线条发光+面积图

import matplotlib.pyplot as plt
from matplotlib import cm
import mplcyberpunk
import numpy as np# time
t = np.arange(0, 6.4, 0.1)
# frequency
f = 1
amplitudes = np.arange(-10, 11, 1)
# amplitude
A = [x * np.cos(f*t) for x in amplitudes]# 设置颜色样式,cool、spring、winter、tab20、coolwarm
colormap_sect = np.linspace(0, 1, len(amplitudes))
colors = [cm.coolwarm(x) for x in colormap_sect]plt.rcParams['figure.figsize'] = [6, 4]
plt.style.use("cyberpunk")
plt.xlim(right=6.3)for i in range(21):plt.plot(t, A[i], color=colors[i])
mplcyberpunk.make_lines_glow()# 标题名,cool、spring、winter、tab20、coolwarm
plt.title("Colormap: 'coolwarm'")
plt.savefig("colormap.png")

5种配色方案的图表

使用到的是ridge_map的山脊地图

# 安装
pip install ridge_map
# 安装库的依赖
pip install scikit-image==0.14.2

需要注意,安装scikit-image时需指定0.14.2版本,否则会报错

import matplotlib.font_manager as fm
import matplotlib.pyplot as plt
from ridge_map import RidgeMap
import mplcyberpunk# 赛博朋克样式
plt.style.use("cyberpunk")# 中文显示
plt.rcParams['font.sans-serif'] = ['SimHei']  # Windows
plt.rcParams['font.sans-serif'] = ['Hiragino Sans GB'] # Mac
plt.rcParams['axes.unicode_minus'] = False# 字体
font_prop = fm.FontProperties(fname="方正兰亭刊黑.ttf")# 获取数据,此处需特殊技巧才能成功
rm = RidgeMap(bbox=(-156.250305, 18.890695, 154.714966, 20.275080), font=font_prop)# 设置线条数,朝向,以及其他属性
values = rm.get_elevation_data(num_lines=200, viewpoint='north')
values = rm.preprocess(values=values,water_ntile=10,vertical_ratio=240)# 设置标题,线条颜色,背景颜色等
rm.plot_map(values, label="夏威夷", kind='gradient', line_color=plt.get_cmap('spring'), background_color='#212946')
plt.savefig('夏威夷.png')

夏威夷岛的山脊地图,朋克风格满满

世界地图和欧洲地图

台湾省

import matplotlib.font_manager as fm
import matplotlib.pyplot as plt
from ridge_map import RidgeMap
import mplcyberpunk# 赛博朋克样式
plt.style.use("cyberpunk")# 中文显示
plt.rcParams['font.sans-serif'] = ['SimHei']  # Windows
plt.rcParams['font.sans-serif'] = ['Hiragino Sans GB'] # Mac
plt.rcParams['axes.unicode_minus'] = False# 字体
font_prop = fm.FontProperties(fname="方正兰亭刊黑.ttf")# 获取数据,此处需特殊技巧才能成功
rm = RidgeMap(bbox=(122.014, 25.344, 120.036, 21.902), font=font_prop)# 设置线条数,朝向,以及其他属性
values = rm.get_elevation_data(num_lines=200, viewpoint='north')
values = rm.preprocess(values=values,water_ntile=10,vertical_ratio=240)# 设置标题,线条颜色,背景颜色等
rm.plot_map(values, label="台湾省", kind='gradient', line_color=plt.get_cmap('spring'), background_color='#212946')
plt.savefig('台湾省.png')

经纬度坐标,可通过腾讯位置服务获取

本文源码后台滴我666

山脊线图

Python实战案例,mplcyberpunk模块,Python实现赛博朋克数据可视化相关推荐

  1. Python实战案例:金庸的功夫流派、人物关系的分析案例(上)

    Python实战案例:金庸的功夫流派.人物关系的分析案例(上) 一.项目说明 在香港的探案剧中, 经常见到这样的场景,为了分析某一桩谋杀案或者是失踪案,会把案件的可疑人员和与被害者的关系人员全部找出来 ...

  2. Python实战案例:旅游方面博文的数据分析

    Python实战案例:旅游方面博文的数据分析 一.旅游方面博文数据展示 数据分析的出现便利了每个人,企业,竞争者.在以前的时候,如果想要了解市场的动向,就设计了调查问卷或者现场采访的方式,以至于被很多 ...

  3. python爬取喜马拉雅_Python爬虫实战案例之爬取喜马拉雅音频数据详解

    这篇文章我们来讲一下在网站建设中,Python爬虫实战案例之爬取喜马拉雅音频数据详解.本文对大家进行网站开发设计工作或者学习都有一定帮助,下面让我们进入正文. 前言 喜马拉雅是专业的音频分享平台,汇集 ...

  4. Python实战案例:使用Pygame开发游戏翻牌子(上)

    Python实战案例:使用Pygame开发游戏翻牌子(上) 一.翻牌子游戏介绍 翻牌子的原意是古代皇帝在晚上就寝时从三千佳丽中选择的某个女子,这里将它改版成对对碰.如果翻开第一张牌子后面的女子,再翻开 ...

  5. 酷毙了,Python“元宇宙”实现赛博朋克数据可视化

    "元宇宙"是什么?虚拟现实 "元宇宙"长啥样?看看就知道了 "元宇宙"怎么玩?跟着我,带你先看看他的样子吧! 前言 利用Python实现赛博 ...

  6. python编程例子-几个Python小案例,爱上Python编程!

    原标题:几个Python小案例,爱上Python编程! Python是一种面向对象的解释型编程语言,源代码与解释器CPython遵守GPL协议,Python语法简洁清晰. 语法简洁清晰,那么我们用少量 ...

  7. python实战(一)Python爬取猫眼评分排行前100电影及简单数据分析可视化python实战(一)Python爬取猫眼排行前一百电影及简单数据分析可视化

    python实战(一)Python爬取猫眼排行前一百电影及简单数据分析可视化 一.抓取数据 需要的库 request库 响应http请求 json库 将文本保存成json形式 pyquery 类似JQ ...

  8. python实战(一)Python爬取猫眼评分排行前100电影及简单数据分析可视化

    python实战(一)Python爬取猫眼排行前一百电影及简单数据分析可视化 一.抓取数据 需要的库 request库 响应http请求 json库 将文本保存成json形式 pyquery 类似JQ ...

  9. python编程案例-几个Python小案例,爱上Python编程!

    原标题:几个Python小案例,爱上Python编程! Python是一种面向对象的解释型编程语言,源代码与解释器CPython遵守GPL协议,Python语法简洁清晰. 语法简洁清晰,那么我们用少量 ...

最新文章

  1. 4年级计算机 设计贺卡教案,四年级上册信息技术《小贝的贺卡》教学设计
  2. excel正在等待某个应用程序以完成对象链接与嵌入操作_看完这篇操作系统,和面试官扯皮就没问题了
  3. 再见Navicat!这个工具才是YYDS!
  4. python进阶书籍的推荐-Python 入门到进阶书籍推荐
  5. boost::hana::detail::create用法的测试程序
  6. 【2018.3.17】模拟赛之一-ssl2574jzoj1368 无限序列【斐波那契数列】
  7. CF1142C U2(计算几何,凸包)
  8. java获取音频_java获取音频文件播放时长
  9. int sel 在c语言表示,C语言教程ch1初识C程序.ppt
  10. plt.title() 把标题置于图像下方
  11. C# 对密码等数据进行对称性加密解密
  12. 从HDFS看分布式文件系统的设计需求
  13. 机器学习实战—FPGrowth算法的实现
  14. 等保-机房日常巡检记录表
  15. Supervised Contrastive Learning:有监督对比学习
  16. kettle读txt文件并处理
  17. linux老自动重启原因,【重启】查询linux自动重新启动原因
  18. yeezy350灰橙_新灰橙最高品质椰子350V2 对比正品进行测评,傻傻分不清!
  19. java菜单管理模块_后台管理系统-菜单管理模块
  20. 可道云 docker 群晖_群晖NAS安装影视客户端新手教程,手把手教你NAS怎么下载电影...

热门文章

  1. cobaltstrike 宏病毒实践
  2. Spring_Tips
  3. 联想a366t 刷android4,联想A366T刷机教程.doc
  4. The 15th Heilongjiang Provincial Collegiate Programming Contest题解 gym102803
  5. Chromium源码下载问题及方案汇总
  6. 疫情下,分享2022年比较冷门的网络兼职
  7. python给ppt表格加边框_python实现向ppt文件里插入新幻灯片页面的方法
  8. Arcgis10.1 许可到期解决方案
  9. 虚拟化与hypervisor
  10. 自动驾驶控制器,车道偏离预警系统,基于Prescan设计场景和交通流