升序排序中国_干货满满!6行python代码挑战展示2020下半年中国最娱乐的人气男明星人气排行榜top10!...
本回答主要以2020下半年中國最娛樂的人氣男明星top10變化動態(tài)條形圖為例來展示如何用python生成動態(tài)條形圖。
知乎視頻?www.zhihu.com一、 python生成動態(tài)條形圖:以2020下半年中國最娛樂的人氣男明星top10變化動態(tài)條形圖為例。
1. 安裝第三方庫
1.1
下載第三方庫的網(wǎng)址:https://git-scm.com/download/win
(cmd中利用pip install的版本不是2.0,運行時會報錯,所以上官網(wǎng)下載最新的會好一些)
首先右擊此電腦-屬性-查看電腦操作系統(tǒng)位數(shù),本人電腦為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. 數(shù)據(jù)收集及預(yù)處理
本文數(shù)據(jù)從123粉絲網(wǎng)爬取,經(jīng)處理后如下,最好以date為DataFrame的index(可以私信本人獲取此數(shù)據(jù),還有1989年-2019年各省市年GDP數(shù)據(jù)文件):
3. 舉例
import bar_chart_race as bcr
import pandas as pd
df=pd.read_csv('男明星人氣數(shù)據(jù).csv', index_col ='date')
bcr.bar_chart_race(df,filename='動態(tài)條形圖1.mp4',steps_per_period=24,title='中國最娛樂的男明星人氣排行榜(數(shù)據(jù)源自123粉絲網(wǎng))')
4.1 默認情況
import bar_chart_race as bcr
import pandas as pd
df=pd.read_csv('男明星人氣數(shù)據(jù).csv', index_col ='date')
bcr.bar_chart_race(df,filename='動態(tài)條形圖2.mp4',title='中國最娛樂的男明星人氣排行榜(數(shù)據(jù)源自123粉絲網(wǎng))')
4.2 設(shè)置中文:顯示中文
import bar_chart_race as bcr
import pandas as pd
from pylab import * #設(shè)置顯示中文
mpl.rcParams['font.sans-serif']=['MicroSoft YaHei']#設(shè)置中文字體為雅黑
df=pd.read_csv('男明星人氣數(shù)據(jù).csv', index_col ='date')
bcr.bar_chart_race(df,filename='動態(tài)條形圖-顯示中文.mp4',title='中國最娛樂的男明星人氣排行榜(數(shù)據(jù)源自123粉絲網(wǎng))')
4.3 轉(zhuǎn)換圖的方向
import bar_chart_race as bcr
import pandas as pd
from pylab import * #設(shè)置顯示中文
mpl.rcParams['font.sans-serif']=['MicroSoft YaHei']#設(shè)置中文字體為雅黑
df=pd.read_csv('男明星人氣數(shù)據(jù).csv', index_col ='date')
bcr.bar_chart_race(df,filename='動態(tài)條形圖-轉(zhuǎn)換方向.mp4',
orientation='v',#使用 orientation 參數(shù),轉(zhuǎn)換圖的方向,’h’和’v’;
title='中國最娛樂的男明星人氣排行榜(數(shù)據(jù)源自123粉絲網(wǎng))')
4.4 改變排序情況
import bar_chart_race as bcr
import pandas as pd
from pylab import * #設(shè)置顯示中文
mpl.rcParams['font.sans-serif']=['MicroSoft YaHei']#設(shè)置中文字體為雅黑
df=pd.read_csv('男明星人氣數(shù)據(jù).csv', index_col ='date')
bcr.bar_chart_race(df,filename='動態(tài)條形圖-改變排序.mp4',
sort='asc'#升序,默認為降序
title='中國最娛樂的男明星人氣排行榜(數(shù)據(jù)源自123粉絲網(wǎng))')
4.5 設(shè)置柱狀圖條數(shù)
import bar_chart_race as bcr
import pandas as pd
from pylab import * #設(shè)置顯示中文
mpl.rcParams['font.sans-serif']=['MicroSoft YaHei']#設(shè)置中文字體為雅黑
df=pd.read_csv('男明星人氣數(shù)據(jù).csv', index_col ='date')
bcr.bar_chart_race(df,filename='動態(tài)條形圖-設(shè)置柱狀條數(shù).mp4',
n_bars=10, #這里本人取10,可以視情況而定
title='中國最娛樂的男明星人氣排行榜(數(shù)據(jù)源自123粉絲網(wǎng))')
4.6 固定軸的最大值
import bar_chart_race as bcr
import pandas as pd
from pylab import * #設(shè)置顯示中文
mpl.rcParams['font.sans-serif']=['MicroSoft YaHei']#設(shè)置中文字體為雅黑
df=pd.read_csv('男明星人氣數(shù)據(jù).csv', index_col ='date')
bcr.bar_chart_race(df,filename='動態(tài)條形圖-設(shè)置最大值.mp4',
fixed_max=True,
title='中國最娛樂的男明星人氣排行榜(數(shù)據(jù)源自123粉絲網(wǎng))')
4.7 設(shè)置幀數(shù)
#默認情況下,幀數(shù)為10,我們可以將這個值改大,使圖像更流暢;當(dāng)然也可以改小;
import bar_chart_race as bcr
import pandas as pd
from pylab import * #設(shè)置顯示中文
mpl.rcParams['font.sans-serif']=['MicroSoft YaHei']#設(shè)置中文字體為雅黑
df=pd.read_csv('男明星人氣數(shù)據(jù).csv', index_col ='date')
bcr.bar_chart_race(df,filename='動態(tài)條形圖-設(shè)置最大值.mp4',
steps_per_period=24, #設(shè)置幀數(shù)
title='中國最娛樂的男明星人氣排行榜(數(shù)據(jù)源自123粉絲網(wǎng))')
4.8 設(shè)置步長與停留時間
#
import bar_chart_race as bcr
import pandas as pd
from pylab import * #設(shè)置顯示中文
mpl.rcParams['font.sans-serif']=['MicroSoft YaHei']#設(shè)置中文字體為雅黑
df=pd.read_csv('男明星人氣數(shù)據(jù).csv', index_col ='date')
bcr.bar_chart_race(df,filename='動態(tài)條形圖-設(shè)置步長與停留時間.mp4',
period_length=2000, #設(shè)置步長與停留時間,可以調(diào)節(jié)數(shù)值變化速度
title='中國最娛樂的男明星人氣排行榜(數(shù)據(jù)源自123粉絲網(wǎng))')
4.9 條形圖顏色不重復(fù)
#
import bar_chart_race as bcr
import pandas as pd
from pylab import * #設(shè)置顯示中文
mpl.rcParams['font.sans-serif']=['MicroSoft YaHei']#設(shè)置中文字體為雅黑
df=pd.read_csv('男明星人氣數(shù)據(jù).csv', index_col ='date')
bcr.bar_chart_race(df,filename='動態(tài)條形圖-條形顏色不重復(fù).mp4',
period_length=2000, #設(shè)置步長與停留時間,可以調(diào)節(jié)數(shù)值變化速度
filter_column_colors=True, #條形顏色不重復(fù)
title='中國最娛樂的男明星人氣排行榜(數(shù)據(jù)源自123粉絲網(wǎng))')
二、 報錯情況舉例和解決方法
1. AttributeError: module ‘sip‘ has no attribute ‘setapi‘
解決辦法:
最后發(fā)現(xiàn)這個報錯的原因是 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 處的軟件,安裝即可,但是這個網(wǎng)址下載比較慢; 下載安裝,記得在安裝時要勾選這兩項;
根據(jù)系統(tǒng)選擇下載版本,我選擇的是Windows。
問題解決!!
總結(jié)
以上是生活随笔為你收集整理的升序排序中国_干货满满!6行python代码挑战展示2020下半年中国最娱乐的人气男明星人气排行榜top10!...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html高度随宽度编号,纯css实现容器
- 下一篇: python发布服务,Python服务发