升序排序中国_干货满满!6行python代码挑战展示2020下半年中国最娱乐的人气男明星人气排行榜top10!...
本回答主要以2020下半年中國最娛樂的人氣男明星top10變化動態條形圖為例來展示如何用python生成動態條形圖。
知乎視頻?www.zhihu.com一、 python生成動態條形圖:以2020下半年中國最娛樂的人氣男明星top10變化動態條形圖為例。
1. 安裝第三方庫
1.1
下載第三方庫的網址:https://git-scm.com/download/win
(cmd中利用pip install的版本不是2.0,運行時會報錯,所以上官網下載最新的會好一些)
首先右擊此電腦-屬性-查看電腦操作系統位數,本人電腦為64位。
1.2 git安裝完畢后,在cmd中切換到想要下載的目錄,然后下載:git clone https://github.com/dexplo/bar_chart_race.git
其中,https://github.com/dexplo/bar_chart_race.git 就是它的git地址;
1.3 我這里下載的目錄是在:D:程序python
在cmd中進入該文件夾,然后運行:python setup.py install,安裝完成后,會提示:Finished processing dependencies for bar-chart-race==0.2.0 ,看到這個,就證明我們成功了!
2. 數據收集及預處理
本文數據從123粉絲網爬取,經處理后如下,最好以date為DataFrame的index(可以私信本人獲取此數據,還有1989年-2019年各省市年GDP數據文件):
3. 舉例
import bar_chart_race as bcr
import pandas as pd
df=pd.read_csv('男明星人氣數據.csv', index_col ='date')
bcr.bar_chart_race(df,filename='動態條形圖1.mp4',steps_per_period=24,title='中國最娛樂的男明星人氣排行榜(數據源自123粉絲網)')
4.1 默認情況
import bar_chart_race as bcr
import pandas as pd
df=pd.read_csv('男明星人氣數據.csv', index_col ='date')
bcr.bar_chart_race(df,filename='動態條形圖2.mp4',title='中國最娛樂的男明星人氣排行榜(數據源自123粉絲網)')
4.2 設置中文:顯示中文
import bar_chart_race as bcr
import pandas as pd
from pylab import * #設置顯示中文
mpl.rcParams['font.sans-serif']=['MicroSoft YaHei']#設置中文字體為雅黑
df=pd.read_csv('男明星人氣數據.csv', index_col ='date')
bcr.bar_chart_race(df,filename='動態條形圖-顯示中文.mp4',title='中國最娛樂的男明星人氣排行榜(數據源自123粉絲網)')
4.3 轉換圖的方向
import bar_chart_race as bcr
import pandas as pd
from pylab import * #設置顯示中文
mpl.rcParams['font.sans-serif']=['MicroSoft YaHei']#設置中文字體為雅黑
df=pd.read_csv('男明星人氣數據.csv', index_col ='date')
bcr.bar_chart_race(df,filename='動態條形圖-轉換方向.mp4',
orientation='v',#使用 orientation 參數,轉換圖的方向,’h’和’v’;
title='中國最娛樂的男明星人氣排行榜(數據源自123粉絲網)')
4.4 改變排序情況
import bar_chart_race as bcr
import pandas as pd
from pylab import * #設置顯示中文
mpl.rcParams['font.sans-serif']=['MicroSoft YaHei']#設置中文字體為雅黑
df=pd.read_csv('男明星人氣數據.csv', index_col ='date')
bcr.bar_chart_race(df,filename='動態條形圖-改變排序.mp4',
sort='asc'#升序,默認為降序
title='中國最娛樂的男明星人氣排行榜(數據源自123粉絲網)')
4.5 設置柱狀圖條數
import bar_chart_race as bcr
import pandas as pd
from pylab import * #設置顯示中文
mpl.rcParams['font.sans-serif']=['MicroSoft YaHei']#設置中文字體為雅黑
df=pd.read_csv('男明星人氣數據.csv', index_col ='date')
bcr.bar_chart_race(df,filename='動態條形圖-設置柱狀條數.mp4',
n_bars=10, #這里本人取10,可以視情況而定
title='中國最娛樂的男明星人氣排行榜(數據源自123粉絲網)')
4.6 固定軸的最大值
import bar_chart_race as bcr
import pandas as pd
from pylab import * #設置顯示中文
mpl.rcParams['font.sans-serif']=['MicroSoft YaHei']#設置中文字體為雅黑
df=pd.read_csv('男明星人氣數據.csv', index_col ='date')
bcr.bar_chart_race(df,filename='動態條形圖-設置最大值.mp4',
fixed_max=True,
title='中國最娛樂的男明星人氣排行榜(數據源自123粉絲網)')
4.7 設置幀數
#默認情況下,幀數為10,我們可以將這個值改大,使圖像更流暢;當然也可以改小;
import bar_chart_race as bcr
import pandas as pd
from pylab import * #設置顯示中文
mpl.rcParams['font.sans-serif']=['MicroSoft YaHei']#設置中文字體為雅黑
df=pd.read_csv('男明星人氣數據.csv', index_col ='date')
bcr.bar_chart_race(df,filename='動態條形圖-設置最大值.mp4',
steps_per_period=24, #設置幀數
title='中國最娛樂的男明星人氣排行榜(數據源自123粉絲網)')
4.8 設置步長與停留時間
#
import bar_chart_race as bcr
import pandas as pd
from pylab import * #設置顯示中文
mpl.rcParams['font.sans-serif']=['MicroSoft YaHei']#設置中文字體為雅黑
df=pd.read_csv('男明星人氣數據.csv', index_col ='date')
bcr.bar_chart_race(df,filename='動態條形圖-設置步長與停留時間.mp4',
period_length=2000, #設置步長與停留時間,可以調節數值變化速度
title='中國最娛樂的男明星人氣排行榜(數據源自123粉絲網)')
4.9 條形圖顏色不重復
#
import bar_chart_race as bcr
import pandas as pd
from pylab import * #設置顯示中文
mpl.rcParams['font.sans-serif']=['MicroSoft YaHei']#設置中文字體為雅黑
df=pd.read_csv('男明星人氣數據.csv', index_col ='date')
bcr.bar_chart_race(df,filename='動態條形圖-條形顏色不重復.mp4',
period_length=2000, #設置步長與停留時間,可以調節數值變化速度
filter_column_colors=True, #條形顏色不重復
title='中國最娛樂的男明星人氣排行榜(數據源自123粉絲網)')
二、 報錯情況舉例和解決方法
1. AttributeError: module ‘sip‘ has no attribute ‘setapi‘
解決辦法:
最后發現這個報錯的原因是 matplotlib 庫的版本太高,我報錯的版本是 3.3.2,將其降級到 3.3.0 就沒有問題了;
先卸載:pip uninstall matplotlib
再安裝:pip install matplotlib==3.3.0
問題解決!!
2. IndexError: list index out of range
解決辦法: 下載 :https://imagemagick.org/script/download.php 處的軟件,安裝即可,但是這個網址下載比較慢; 下載安裝,記得在安裝時要勾選這兩項;
根據系統選擇下載版本,我選擇的是Windows。
問題解決!!
總結
以上是生活随笔為你收集整理的升序排序中国_干货满满!6行python代码挑战展示2020下半年中国最娱乐的人气男明星人气排行榜top10!...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html高度随宽度编号,纯css实现容器
- 下一篇: 壁式框架内力计算_剪力墙结构设计计算要点