matplotlib的簡單使用

 
from matplotlib import pyplot as plt
x = range(2, 26, 2)
# 每兩個小時的溫度
y = [15, 13, 14, 17, 20, 25, 26, 26, 24, 22,18, 15]

# 繪圖
plt.plot(x,y)

# 顯示
plt.show()

from matplotlib import pyplot as plt

# 設置圖片
fig = plt.figure(figsize=(20,8),dpi=80)

x = range(2, 26, 2)
# 每兩個小時的溫度
y = [15, 13, 14, 17, 20, 25, 26, 26, 24, 22,18, 15]

# 繪圖
plt.plot(x,y)

# 設置x軸的刻度
# plt.xticks(x)
# plt.xticks(range(2, 25))
#plt.xticks(range(2, 25, 0.5))
_xtick_labels = [i/2 for i in range(4,49)]
plt.xticks(_xtick_labels[::3])

# 設置y軸的刻度
plt.yticks(range(min(y), max(y)+1))

# 圖片的保存
plt.savefig('./sig_size.png')
# 顯示
plt.show()

 

from matplotlib import pyplot as plt
import random
from matplotlib import font_manager

# 設置中文顯示
# matplotlib.rc("font",family="Microsoft YaHei",weight="bold")
# matplotlib.rc("font", family="Microsoft YaHei")
my_font = font_manager.FontProperties(family='Microsoft YaHei', weight='normal', size="12")

plt.figure(figsize=(20, 8), dpi=80)
x = range(0, 120)
y = [random.randint(20, 35) for i in range(0, 120)]

plt.plot(x, y, label="溫度變化")

# 調整x軸的刻度
_x = list(x)[::3]
_xtick_labels = ["{}分".format(i) for i in _x]
# 取步長,數字和字符串要一一對應
plt.xticks(_x, _xtick_labels, rotation=45, fontProperties=my_font) #rotation旋轉的度數
plt.yticks(range(min(y), max(y)+1, 1), fontProperties=my_font)

# 添加x,y軸,圖標描述信息
plt.xlabel("時間(分)", fontProperties=my_font)
plt.ylabel("溫度(℃)", fontProperties=my_font)
plt.title("兩個小時內每分鐘的溫度變化", fontProperties=my_font)

# 設置顯示輔助網格線,透明度0.4
plt.grid(alpha=0.4)

# 添加圖例,需先設置lable
plt.legend(loc='upper right', prop=my_font, fontsize=12)  #lower right

plt.savefig('./每分鐘的溫度折線.png')
plt.show()

 

from matplotlib import pyplot as plt
from matplotlib import font_manager

myfont = font_manager.FontProperties(family="Microsoft YaHei", size=14)
plt.figure(figsize=(20, 8), dpi=80)

x = range(11, 31)
y1 = [1, 0, 1, 1, 2, 4, 3, 2, 3, 4, 4, 5, 6, 5, 4, 3, 3, 1, 1, 1]
y2 = [1, 0, 3, 1, 2, 2, 3, 3, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1]
_xticks_label = ["{}歲".format(i) for i in range(11, 31)]
plt.xticks(x, _xticks_label, fontproperties=myfont)
plt.yticks(y1, fontproperties=myfont)

plt.xlabel("年齡", fontproperties=myfont, fontsize=18)
plt.ylabel("女朋友(個)", fontproperties=myfont, fontsize=18)
plt.title("11歲到30歲交女朋友的數量走勢圖", fontproperties=myfont, fontsize=24)

# 設置網格
plt.grid(linestyle=":")

plt.plot(x, y1, label="自己", color="blue")
plt.plot(x, y2, label="同桌", color="red", linestyle="-.")

# 添加圖例,需先設置lable
plt.legend(loc='upper right', prop=myfont, fontsize=12)  #lower right

plt.show()

# 假設通過爬蟲你獲取到了北京2016年3,10月份每天白天的最高氣溫,那麼此時如何尋找到氣溫隨時間變化的某種規律
from matplotlib import pyplot as plt
from matplotlib import font_manager

y_3 = [11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23]
y_10 = [26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,17,10,11,13,12,13,6]
x_3 = range(1, 32)
x_10 = range(41, 72)

# 設置中文顯示
my_font = font_manager.FontProperties("Microsoft YaHei")

# 設置圖形大小
plt.figure(figsize=(20, 8), dpi=80)

# 設置x軸刻度
_x = list(x_3)+list(x_10)
_xtick_labels = ["3月{}日".format(i) for i in range(1, 32)] + ["10月{}日".format(i) for i in range(1, 32)]
plt.xticks(_x[::3], _xtick_labels[::3], fontproperties=my_font, rotation=45)

# 設置y軸刻度
plt.yticks(range(min(list(y_3)+list(y_10)), max(list(y_3)+list(y_10))))

# 繪製
plt.scatter(x_3, y_3, label="3月份")
plt.scatter(x_10, y_10, label="10月份")

# 添加描述信息
plt.xlabel("時間", fontproperties=my_font)
plt.ylabel("溫度", fontproperties=my_font)
plt.title("3月和10月每天的溫度變化", fontproperties=my_font)

# 添加圖例
plt.legend(prop=my_font)

# 展示
plt.show()

 

# 假設你獲取到了2017年內地電影票房前20的電影和電影票房數據,那麼如何更加直觀的展示該數據?
from matplotlib import pyplot as plt
from matplotlib import font_manager

a = ["戰狼2", "速度與激情8", "功夫瑜伽", "西遊伏妖篇", "變形金剛5:最後的騎士", "摔跤吧!爸爸",
     "加勒比海盜5:死無對證", "金剛:骷髏島", "極限特工:中級迴歸", "生化危機6:終章", "乘風破浪",
     "神偷奶爸3", "智取威虎山", "大鬧天竺", "金剛狼3:殊死一戰", "蜘蛛俠:英雄歸來", "悟空傳", "銀河護衛隊2",
     "情聖", "新木乃伊"]
b = [56.01, 26.94, 17.53, 16.49, 15.45, 12.96, 11.8, 11.61, 11.28, 11.12, 10.49, 10.3, 8.75, 7.55, 7.32,
     6.99, 6.88, 6.86, 6.58, 6.23]# 單位:億

# 設置中文顯示
my_font = font_manager.FontProperties("Microsoft YaHei")

# 設置圖形大小
plt.figure(figsize=(20, 8), dpi=80)

# 設置軸刻度
plt.xticks(range(int(min(b)), int(max(b)), 2), fontproperties=my_font)
plt.yticks(range(len(a)), a, fontproperties=my_font)


# 顯示網格
plt.grid(alpha=0.3)

# 繪製
plt.barh(range(len(a)), b, height=0.3)

# 添加輔助信息
plt.xlabel("票房(單位:億)", fontproperties=my_font)
plt.ylabel("電影名稱", fontproperties=my_font)
plt.title("2017年電影票房數據", fontproperties=my_font)

# 展示
plt.show()

 

發佈了37 篇原創文章 · 獲贊 12 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章