Python繪制多因子柱狀圖的實現示例

背景介紹

R和Python作為兩個開源、且容易上手的數據分析和繪圖工具,在科研中應用的比較廣泛。

在接下來的日子,我們圍繞Python進行繪圖和數據分析話題,寫一系列推文,事實上是我自己的一些學習筆記分享出來,為瞭我

方便查閱,也方便大傢翻閱。

軟件介紹

[軟件名稱]:Anaconda | Spyder

[軟件安裝]:可以參考下方這個推文

Anaconda的下載和安裝

繪圖教程

1.打開Spyder軟件,我們導入相應的庫,以及生成一組數據。(一開始作圖的時候,先不要想那麼多,跟著敲代碼就行)

#
# 導入相應的庫(包)
import numpy as np     # 生成數據的包
import matplotlib.pyplot as plt    #作圖的包

# 生成一組數據
x = np.arange(5)
y = [1, 5, 2, 3, 7]
y1 = [4, 6, 3, 5, 9]

2.查看一下數值

print(x,y,y1)

3.開始作圖,下面是作圖代碼,照著敲一下,找找感覺,此時圖形已經成型

###
plt.bar(# 設置x和y
        x,y,   

        # 設置柱子寬度 
       width=0.3,        
        
        # 設置柱子顏色
       color = "red",         
        
        # 設置legend的名稱
       label = "y")    

plt.bar(x+0.3,y1,
        width = 0.3,
        color = "green",
        label = "y1")

# 設置x軸tick的位置
plt.xticks(x+0.3/2,x) 

# 顯示legend  
plt.legend()            

# 設置x的標簽
plt.xlabel(# x標簽的名稱
          "x_names",   
           
           # x標簽的字體大小
          size = 12,   
           
           # x標簽的字體顏色
          color = "blue") 

plt.ylabel("y_names",
           size = 12,
           color = "blue")

# y軸的范圍(x軸的范圍隻需要將y變為x即可)
plt.ylim(0,10)

# 顯示圖形
plt.show()

4.目前做的事兩列的因子,如果我們有三個,或者多個呢?下面我們假設有三個數據,更改相應的參數後,繪圖如下

# 增加一列數據
y2 = [5,3,7,9,6]

plt.bar(x,y,
        width=0.3,
        color = "red",
        label = "y")
plt.bar(x+0.3,y1,
        width = 0.3,
        color = "green",
        label = "y1")

# 新增繪圖部分
plt.bar(x+0.6,y2,
        width = 0.3,
        color = "blue",
        label = "y1")

# 需要更改的部分
plt.xticks(x+0.6/2,x) 
plt.legend()         

plt.xlabel("x_names", 
           size = 12,
           color = "blue") 

plt.ylabel("y_names",
           size = 12,
           color = "blue")
plt.ylim(0,10)
plt.show()

5.使用hatch參數,可以對柱子進行填充如:hatch = “/”,此外有其他填充形狀,如’/', ‘’, ‘|’, ‘-’, ‘+’, ‘x’, ‘o’, ‘O’, ‘.’, ‘*’,比如我們使用該參數對柱子進行填充,看看效果

plt.bar(x,y,
        width=0.28,
        color = "red",
        label = "y",
        # 填充形狀
       hatch = "//")
plt.bar(x+0.3,y1,
        width = 0.28,
        color = "green",
        label = "y1",
        # 填充形狀
       hatch = ".")

plt.bar(x+0.6,y2,
        width = 0.28,
        color = "blue",
        label = "y1",
        # 填充形狀
       hatch = "-")

plt.xticks(x+0.6/2,x) 
plt.legend()         

plt.xlabel("x_names", 
           size = 12,
           color = "blue") 

plt.ylabel("y_names",
           size = 12,
           color = "blue")
plt.ylim(0,10)
plt.show()

最後

到此這篇關於Python繪制多因子柱狀圖的實現示例的文章就介紹到這瞭,更多相關Python 多因子柱狀圖內容請搜索LevelAH以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持LevelAH!

推薦閱讀: