Python matplotlib實現圖表主題變換示例詳解

有時候因為jupyter notebook本身的主題不同,導致畫圖的時候與圖表的顏色沖突,看不清坐標軸,這時候可以通過更換坐標軸風格來解決:

一、更換主題樣式

plt.style.available
## 主題如下:
['Solarize_Light2',
 '_classic_test_patch',
 'bmh',
 'classic',
 'dark_background',
 'fast',
 'fivethirtyeight',
 'ggplot',
 'grayscale',
 'seaborn',
 'seaborn-bright',
 'seaborn-colorblind',
 'seaborn-dark',
 'seaborn-dark-palette',
 'seaborn-darkgrid',
 'seaborn-deep',
 'seaborn-muted',
 'seaborn-notebook',
 'seaborn-paper',
 'seaborn-pastel',
 'seaborn-poster',
 'seaborn-talk',
 'seaborn-ticks',
 'seaborn-white',
 'seaborn-whitegrid',
 'tableau-colorblind10']

原始風格:

# 折線圖進階
from matplotlib import pyplot as plt 
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微軟雅黑的字體
plt.title("中國票房2021TOP5") 
plt.plot(bo,prices,label='票房與票價')
plt.show()

更換主題:

plt.style.use('ggplot')

plt.style.use('seaborn')

plt.style.use('classic')

最終我的效果:

# 折線圖進階
from matplotlib import pyplot as plt 
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微軟雅黑的字體
plt.title("中國票房2021TOP5") 
plt.plot(bo,prices,label='票房與票價')
plt.plot(bo,persons,label='票房與人次')
plt.plot(bo,points,label='票房與評價')
plt.legend() # 顯示標簽
plt.xlabel('票房')
plt.ylabel('行情')
plt.show()

二、線條變換

'r^–' :紅色虛線

'g^–' :綠色虛線

'b^–' :藍色虛線

'g*-' :表示綠色,並且數據標記是一個星號

^:表示數據標記為一個向上的三角形

# 折線圖進階
from matplotlib import pyplot as plt 
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微軟雅黑的字體
plt.title("中國票房2021TOP5") 
plt.plot(bo,prices,'r^--',label='票房與票價')
plt.plot(bo,persons,label='票房與人次')
plt.plot(bo,points,label='票房與評價')
plt.legend() # 顯示標簽
plt.xlabel('票房') # 橫坐標軸標題
plt.ylabel('行情') # 縱坐標軸標題
plt.show()

# 折線圖進階
from matplotlib import pyplot as plt 
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微軟雅黑的字體
plt.title("中國票房2021TOP5") 
plt.plot(bo,prices,'r^--',label='票房與票價')
plt.plot(bo,persons,'g*-',label='票房與人次')
plt.plot(bo,points,'bo--',label='票房與評價')
plt.legend() # 顯示標簽
plt.xlabel('票房') # 橫坐標軸標題
plt.ylabel('行情') # 縱坐標軸標題
plt.show()

# 折線圖進階
from matplotlib import pyplot as plt 
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微軟雅黑的字體
plt.title("中國票房2021TOP5") 
plt.plot(bo,prices,'r^--',label='票房與票價')
plt.plot(bo,persons,'g*-',label='票房與人次')
plt.plot(bo,points,color='blue',marker='o',markersize=10,label='票房與評價')
plt.legend() # 顯示標簽
plt.xlabel('票房') # 橫坐標軸標題
plt.ylabel('行情') # 縱坐標軸標題
plt.show()

三、將圖表保存成本地圖片

plt.savefig("cnbotop5.png")

四、添加輔助線

# 03 經典款式無輔助線
plt.style.use('classic')
# 折線圖進階
from matplotlib import pyplot as plt 
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微軟雅黑的字體
plt.title("中國票房2021TOP5") 
plt.plot(bo,prices,'r^--',label='票房與票價')
plt.plot(bo,persons,'g*-',label='票房與人次')
plt.plot(bo,points,color='blue',marker='o',markersize=10,label='票房與評價')
plt.legend() # 顯示標簽
plt.xlabel('票房') # 橫坐標軸標題
plt.ylabel('行情') # 縱坐標軸標題
plt.show()

plt.grid() # 添加網格線

五、調整畫圖的大小和清晰度

plt.figure(figsize=(16,10),dpi=100)

這裡dpi就相當於清晰度,而figsize就是長度和寬度

六、使用動漫風格

# 05 使用特殊風格
from matplotlib import pyplot as plt 
plt.xkcd()
plt.figure(figsize=(16,10),dpi=100)
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微軟雅黑的字體
plt.rcParams.update({'font.family': "Microsoft YaHei"})
plt.title("中國票房2021TOP5") 
plt.plot(bo,prices,'r^--',label='票房與票價')
plt.plot(bo,persons,'g*-',label='票房與人次')
plt.plot(bo,points,color='blue',marker='o',markersize=10,label='票房與評價')
plt.legend() # 顯示標簽
plt.xlabel('票房') # 橫坐標軸標題
plt.ylabel('行情') # 縱坐標軸標題
plt.grid()
plt.savefig("cnbotop5_300.png")
plt.show()

調整長寬來進行圖像的扁平化調整

七、橫坐標的傾斜度

plt.xticks(rotation=45) # 橫坐標軸的每個標題傾斜45度
# 繪制水平柱狀圖
plt.style.use('classic')
# cnbodfgbsort["BO"].to_list().reverse()
# cnbodfgbsort.index.to_list().reverse()
plt.figure(figsize=(16,10),dpi=100)
plt.rcParams.update({'font.family': "Microsoft YaHei"})
plt.title("中國票房分類柱狀圖") 
plt.barh(rcnboindex,rbolist)
plt.legend() # 顯示標簽
plt.xlabel('票房') # 橫坐標軸標題
plt.ylabel('電影類型') # 縱坐標軸標題
plt.xticks(rotation=45) # 橫坐標軸的每個標題傾斜45度
plt.show()

八、橫縱坐標軸轉換

rbolist=cnbodfgbsort["BO"].to_list()
rcnboindex=cnbodfgbsort.index.to_list()
rbolist
rbolist.reverse()
rbolist
rcnboindex.reverse()

以上就是Python matplotlib實現圖表主題變換示例詳解的詳細內容,更多關於Python matplotlib圖表主題變換的資料請關註WalkonNet其它相關文章!

推薦閱讀: