賽博朋克這麼火,如果與Python結合,能有多酷?

2021-12-21 大數據文摘
遊戲的背景設定在了2077年,一個科技高度發達但卻混亂無序的「賽博朋克」都市當中。在這個世界裡,雖然科技高度發展,但是人類的生活水平卻極度低下,或者說窮人的生活水平極度低下。所以,這就是一個極端的世界,包含著非常多的元素。在視覺上,繁華的立體城市,到處是霓虹燈,人造光是所有的光源,甚至沒有陽光。虛擬和現實界限模糊,人工智慧和人造人傻傻分不清楚,窮人和富人極度分化,到處充斥著恐怖主義。總之就是一個絕對的反烏託邦世界,如果你感興趣可以去深入了解一下,就先點到為止咯!這期主要是給大家介紹一款「賽博朋克」風格的Python庫「mplcyberpunk」
https://github.com/dhaitz/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,發現該庫的兩個主要功能。
即make_lines_glow(線條發光)和add_underglow(線條面積圖)。

import numpy as np
import mplcyberpunk
import matplotlib.pyplot as plt

plt.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")

https://github.com/ColCarroll/ridge_map

# 安裝
pip install ridge_map
# 安裝庫的依賴
pip install scikit-image==0.14.2

這裡需要注意,安裝scikit-image時需指定0.14.2版本,否則會報錯。
由於ridge_map這個庫內容比較多,就不展開說了。

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')

作者提供的兩個圖,世界地圖和歐洲地圖,數據獲取時間太久,所以選擇放棄~
好像是可以使用heightmaps格式的圖片直接實現,感興趣的小夥伴,可以自己試試啦!

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')

好了,本期分享到此就結束了,對於「賽博朋克」風格的柱狀圖、餅圖等等,就讓大家自己去探索吧。

相關焦點

  • 「賽博朋克風」為什麼這麼火?
    《賽博朋克2077》發售已經有了幾日,自從開始發售以來整個世界都變黃了。這兩天不管是同事還是租房的舍友們臨近下班再也不是思考晚上吃什麼,或是討論晚上去哪野,而是會說簡單的一句「晚上去不去夜之城捏牛子?」
  • 光汙染≠賽博朋克,中國風的「賽博朋克」遊戲該怎麼做?
    作為國內最大的兩家遊戲廠商,騰訊、網易自然不可能放過這麼火熱的題材,畢竟這兩家廠商基本都是什麼火,做什麼,從moba、吃雞、二次元,賽博朋克自然也不例外。而在《賽博朋克2077》引起的這股「賽博朋克」風潮自然也引起了兩家廠商的注意。
  • 賽博朋克2077為什麼火 賽博朋克2077是什麼遊戲
    相信很多人都被《賽博朋克2077》刷屏了,也成功出圈了,話題討論度非常高,但對於一些不了解的人來說,很難理解,那麼,賽博朋克2077為什麼火?這是一款什麼遊戲?下面小編就來說說。  賽博朋克2077為什麼火  12月10日,由波蘭知名遊戲開發商CD Projekt RED所推出的《賽博朋克2077》正式上線。
  • 光汙染≠賽博朋克,中國風的「賽博朋克」遊戲該怎麼做?
    作為國內最大的兩家遊戲廠商,騰訊、網易自然不可能放過這麼火熱的題材,畢竟這兩家廠商基本都是什麼火,做什麼,從moba、吃雞、二次元,賽博朋克自然也不例外。而在《賽博朋克2077》引起的這股「賽博朋克」風潮自然也引起了兩家廠商的注意。
  • 賽博朋克是如何火遍全球的?
    它是一個科幻小說的分支題材,一種數字(cyber)與反叛(punk)的結合,一種對於「高科技與低生活」的詮釋……然而,在2020年的當下,提到賽博朋克,我相信絕大多數人首先想到的應該是它 ⬇️而當遊戲開始預載,有人才發現,自己壓根就玩不了。
  • 這很賽博朋克什麼意思 賽博朋克含義及出處介紹
    最近因為賽博朋克2077的跳票,導致全民熱評,賽博朋克這個詞再次火了起來,「這很賽博朋克」是什麼意思?什麼梗?最初出自哪裡?小編給大家介紹下這很賽博朋克的含義,有興趣的網友和小編一起來了解下「這很賽博朋克」吧! 這很賽博朋克什麼意思?
  • 賽博朋克2077:精彩的是對社會的思考,科技能讓生活更美好?
    這個頗有幾分戲謔的開頭,卻客觀上為賽博朋克文化找到了「」港灣」,甚至讓如今的遊戲開發商CD Projekt RED(簡稱CDPR)開發了今年最受人關注、最爆火的遊戲《賽博朋克2077》。那麼賽博朋克這個今年遊戲界最火的詞究竟是什麼意思呢?
  • 賽博朋克2077武器有哪些 賽博朋克2077全種類武器介紹
    賽博朋克2077動能武器、科技武器賽博朋克2077都有哪些武器?賽博朋克2077即將正式開服,這款遊戲既然是賽博朋克的世界觀,那麼在武器的設計上也沒有拘泥於現實的武器,非常的花哨。遊戲的武器有多種類型,具體的武器種類有哪些呢?這裡就給大家帶來科普。
  • 從《賽博朋克2077》聊起 賽博朋克與桌遊的趣味發展史
    波蘭知名遊戲公司CCPR的最新大作《賽博朋克2077》預售已經開啟了有一段時間了,還曾一度登上steam暢銷榜。這款即將於明年面世備受玩家們期待的遊戲,改編自桌遊《賽博朋克2020》,其極高的受關注度,讓賽博朋克和桌遊這兩個在國內略顯小眾的文化符號,也再一次火熱起來。那麼賽博朋克到底是什麼?
  • 漢服也能玩出新花樣!當國風漢服與賽博朋克碰撞,科技感十足!
    現在穿漢服的人越來越多,不少的人把漢服和其他風格的衣服進行混搭,比如西裝搭配馬面裙,漢服搭配襯衫等,最近有兩位知名的Coser,把漢服和賽博朋克風結合在一起,效果實在酷炫,讓我們知道,原來漢服也能具有這麼強的科技感!
  • 《賽博朋克2077》不過是賽博朋克的低劣複製品
    賽博朋克曾經作為一個重要的反資本主義小說流派脫穎而出。如今,它已經淪為一種看上去酷的復古美學,以至於很容易被埃隆·馬斯克這樣的富人挪用,向懷舊的X世代推銷受《銀翼殺手》啟發的醜陋卡車。本文原載於《雅各賓》雜誌。《賽博朋克2077》遊戲畫面。如果你認為諷刺已經死了,只需要觀察下埃隆·馬斯克最近關於《賽博朋克2077》的推特。
  • 《賽博朋克2077》都刷屏了,可啥是賽博朋克……
    如果你最近刷朋友圈,沒有刷到一個身穿硬核皮衣的男子,站在黃色背景前,右手舉槍,像特工一樣的圖。那麼,我在這裡要真誠地建議你——回頭看看你是不是被屏蔽了。遊戲正式發售那天早上,有人提前請假,定好鬧鐘,準備第一時間下載遊戲;有公司更大方,直接放假一天讓大夥玩去吧(估計是遊戲公司)……
  • 賽博朋克是怎麼被「玩壞」的?-虎嗅網
    它是由「控制論」和「朋克」兩個單詞結合而成。控制論可能不好理解,如果把它拆開,解釋成神經機械學,是研究生命體、機器和組織的內部或彼此之間的控制和通信的科學,這樣就容易理解多了。這也是為什麼許多賽博朋克影視作品經常瀰漫著一種陰暗壓抑的氣氛。這是一個顯而易見的崩壞式未來。賽博朋克從文化概念轉向視覺藝術風格如果是兩年前,提到「賽博朋克」這個概念,被提到最多的可能是《銀翼殺手》、《攻殼機動隊》、《阿基拉》、《黑客帝國》等等這些比較經典影視作品。
  • 《賽博朋克2077》太酷了!
    )「Cyber-」(數字的)與「Punk」(朋克)的結合整個遊戲的畫面都是尊崇「賽博朋克」風格設計的說到賽博朋克對於設計師來說可能並不陌生我們經常會在一些影視作品或者設計作品中見到以及運用比如我們熟悉的有:《黑客帝國系列》、《銀翼殺手2049
  • 賽博朋克2077武器有哪些-賽博朋克2077全武器種類介紹
    賽博朋克2077武器有哪些?賽博朋克2077遊戲中有不少武器,每種武器在對戰中都有其優勢,本次小編就給大家帶來了賽博朋克2077全武器種類介紹,希望對小夥伴們有所幫助。
  • 除了賽博朋克,你還知道什麼朋克?
    要說在這麼多「朋克」的世界觀設定中,哪個「朋克」大家最熟悉呢?首當其衝的一定是大名鼎鼎的「賽博朋克」了,賽博朋克這一詞的來源於(英語:Cyberpunk)是「控制論」(Cybernetics)與「朋克」(Punk)的結合詞,通常擁有先進的科學技術,再以一定程度崩壞的社會結構做對比;故事框架通常是社會秩序受到政府或財團或秘密組織的高度控制,而角色利用其中的漏洞做出了某種突破。
  • 為什麼中國沒有「賽博朋克」?
    最近遊戲界最火的是什麼?當然是——《賽博朋克2077》。有多火呢?還沒開售,全球預購數量就超過800萬份,跟春節前買火車票有得一拼,一度把官方網站都給擠爆了。僅僅一天,《賽博朋克2077》的銷售額就已經覆蓋了過去八年裡所有的營銷開發費用,實現了盈利,也就不可能讓烏鴉恰飯了。但就是這麼一個火爆的遊戲,卻被政治正確的白左們給盯上了。
  • 2077年的世界,很賽博朋克!
    在這款以近未來為背景的遊戲中,玩家能夠自定義角色、技能和玩法,探索包羅萬象的「賽博朋克」都市。那麼,賽博朋克究竟意味著什麼?它是如何火遍全球的?賽博朋克(Cyberpunk),由cybernetics(控制論、神經機械學)和punk(朋克、反叛)兩個單字組成。
  • 看完這篇文章後,別再問我什麼是賽博朋克了
    火是一回事,但同時許多「 賽博朋克原教旨主義者 」也開始有些不滿,在他們看來,不少網上泛濫的賽博朋克的創作並不那麼「 賽博朋克 」。打個比方:在賽博朋克設定裡的城市景觀往往有大量堪比光汙染的霓虹燈牌,這本身是為了烘託資本環境下城市化過度發展的反人性生存環境。
  • 從桌遊《賽博朋克 紅》解析《賽博朋克 2077》的劇情走向
    Talsorian Games 是原版《賽博朋克》系列桌遊的開發商,他們近日為最新版本的桌遊《賽博朋克 紅(Cyberpunk Red)》公布了套件「Jumpstar Kit」。這款桌遊背景設定將從 21 世紀 20 年代變更為 21 世紀 40 年代。《賽博朋克 2077》將於 2020 年正式發售,而《賽博朋克 紅》這款桌遊也許能讓我們提前了解一下《賽博朋克 2077》的世界。