Python畫圖——matplotlib(普通折線圖)
matplotlib畫圖
(1)單折線圖
from matplotlib import pyplot as plt #as就是重新命名的意思
from matplotlib.font_manager import FontProperties #匯入中文字型
font = FontProperties(fname=r"/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc")
x = range(2, 26, 2)
y = [15,13,13.5,14,17,21,24,22,20,19,17,15]
plt.figure(figsize=(10,8),dpi=80,facecolor='w') #設定圖片的尺寸和外框顏色 w白色
#繪製圖片
plt.plot(x,y)
xlabels = ["{}時".format(i) for i in range(2, 26, 2)] #修改x軸的刻度
plt.xticks(x, xlabels,fontproperties=font)
plt.yticks(range(min(y),max(y)+1)) # 修改y軸刻度
#為x y 軸和圖形新增標題資訊
plt.title("標題", fontproperties=font)
plt.xlabel("x軸標籤", fontproperties=font)
plt.ylabel("y軸標籤", fontproperties=font)
plt.show()
plt.savefig('./temp.png')
plt.show()
(2) 多折線圖
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from matplotlib import pyplot as plt
from matplotlib.font_manager import FontProperties #字型庫
font = FontProperties(fname=r"/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc")
y_1 = [1,0,1,1,2,4,3,2,4,4,5,6,5,4,3,3,1,1,1,1]
y_2 = [1,0,3,1,2,2,2,3,1,1,1,1,2,1,1,2,3,2,2,2]
x_1 = range(11,31)
x_2 = range(11,31)
# 設定影像的大小
plt.figure(figsize=(15,9),dpi=80) #圖片大小 畫素
# 設定圖中圖例內容和位置
plt.plot(x_1,y_1,label = '自己',color='r', linestyle='-.')
plt.plot(x_2,y_2,label = '同桌', color='b',linestyle='--')
plt.legend(prop=font,loc='upper left') #upper/lower left/right
# 設定x軸的刻度
_x_1 = list(x_1)
_xticks_label = ["{}歲".format(i) for i in x_1]
plt.xticks(_x_1,_xticks_label,fontproperties=font)
plt.grid(alpha = 0.2) # 新增網格 調整透明度alpha = 0.2
# 座標軸上面的描述資訊
plt.xlabel('歲數',fontproperties=font)
plt.ylabel('個數',fontproperties=font) # y軸的標題
plt.title("11-31歲的男女朋友的個數",fontproperties=font) # 頂部的標題
plt.show() #展示影像,如果是pycharm中,沒有這句話可能就不能夠顯示影像
'''
在plot中進行新增
color = 'r' 線條顏色
linestyle = '--' 線條風格 -:實線 --:虛線 -.:點劃線 預設是實現
linewidth = 5 線條粗細 單位畫素
alpha = 0.5 透明度
'''
(3)散點圖
用於統計北京10-11月的氣溫,這裡採用了分開的畫法,如果只是簡單的散點圖,可以在裡面刪除部分內容
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from matplotlib import pyplot as plt
from matplotlib.font_manager import FontProperties
font=FontProperties(fname=r"/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc")
y_a= [11,17,16,18,19,20,16,13]
y_b= [13,12,14,10,9,14,10,8]
x_a = range(1,32,4)
x_b = range(51,82,4)
_xticks_a=["10月{}號".format(i) for i in x_a]
_xticks_b=["11月{}號".format(i-50) for i in x_b]
# 設定圖片大小
plt.figure(figsize=(10,8),dpi=80)
# 畫散點圖
plt.scatter(x_a, y_a)
plt.scatter(x_b, y_b)
# x軸刻度
_xticks = _xticks_a + _xticks_b
_x = list(x_a) + list(x_b)
plt.xticks(_x,_xticks,fontproperties=font,rotation=45) # rotation:旋轉顯示x軸文字資訊
plt.show()
(4) 畫條形圖
獲取到1-12月,公司的營業額
x=[‘1月’, ‘2月’, ‘3月’, ‘4月’, ‘5月’, ‘6月’, ‘7月’, ‘8月’, ‘9月’, ‘10月’, ‘11月’, ‘12月’]
y=[55, 35, 45, 56, 57, 37, 47, 59, 50, 80, 50, 90, 100]
第一種:豎著畫圖
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from matplotlib import pyplot as plt
from matplotlib.font_manager import FontProperties
font=FontProperties(fname=r"/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc")
x = ['1月', '2月', '3月', '4月', '5月', '6月',
'7月', '8月', '9月', '10月', '11月', '12月']
y = [55, 35, 45, 56, 57, 37, 47, 59, 50, 80, 50, 90]
# 設定圖片大小
plt.figure(figsize=(10,8),dpi=80)
# 畫條形圖
plt.barh(range(len(x)),y, height=0.5)
# height: 條形圖的寬度
# 修改x軸刻度
plt.yticks(range(len(x)),x,FontProperties = font)
plt.xlabel('收益',fontproperties=font)
plt.ylabel('月份',fontproperties=font)
plt.title("2019年公司收益",fontproperties=font)
plt.show()
第二種:橫條形圖
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from matplotlib import pyplot as plt
from matplotlib.font_manager import FontProperties
font=FontProperties(fname=r"/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc")
x = ['1月', '2月', '3月', '4月', '5月', '6月',
'7月', '8月', '9月', '10月', '11月', '12月']
y = [55, 35, 45, 56, 57, 37, 47, 59, 50, 80, 50, 90]
# 設定圖片大小
plt.figure(figsize=(10,8),dpi=80)
# 畫條形圖
plt.bar(range(len(x)),y, width=0.8, bottom=40)
# width:條形圖寬度
# bottom y的最小值從什麼時候開始
# 修改x軸刻度
plt.xticks(range(len(x)),x,FontProperties = font)
plt.xlabel('月份',fontproperties=font)
plt.ylabel('收益',fontproperties=font)
plt.title("2019年公司收益",fontproperties=font)
plt.show()
(5) 畫直方圖
採用random庫生成250個隨機數,統計隨機數的分佈情況
x = [random.randint(80,250) for i in range(0,250)]
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import random
from matplotlib import pyplot as plt
from matplotlib.font_manager import FontProperties
font=FontProperties(fname=r"/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc")
# x = [random.randint(80,250) for i in range(0,250)]
x = [156, 224, 165, 90, 125, 200, 183, 114, 219, 141, 123, 200, 123, 166, 226, 129, 165, 162, 140, 211, 135, 154, 141, 213, 212, 89, 99, 236, 137, 235, 243, 221, 184, 207, 82, 89, 93, 226, 189, 129, 176, 110, 144, 221, 232, 220, 231, 91, 146, 119, 174, 177, 96, 87, 236, 172, 139, 140, 233, 195, 155, 193, 193, 237, 80, 149, 89, 183, 245, 152, 171, 205, 205, 216, 142, 230, 116, 200, 94, 130, 203, 202, 218, 162, 170, 114, 187, 211, 194, 85, 208, 188, 109, 134, 212, 174, 173, 106, 131, 112, 159, 228, 212, 88, 226, 141, 149, 178, 224, 243, 145, 235, 237, 166, 184, 173, 190, 237, 105, 213, 142, 110, 229, 121, 146, 183, 215, 153, 94, 235, 228, 186, 197, 138, 244, 215, 124, 118, 238, 177, 150, 222, 148, 155, 184, 192, 133, 239, 250, 193, 138, 181, 184, 189, 140, 176, 108, 161, 234, 179, 200, 187, 166, 219, 192, 225, 188, 101, 180, 211, 218, 173, 178, 216, 83, 197, 98, 154, 112, 191, 201, 218, 110, 172, 195, 185, 147, 203, 238, 149, 241, 211, 248, 153, 214, 113, 142, 223, 149, 135, 218, 208, 80, 247, 230, 235, 215, 146, 106, 139, 110, 220, 128, 103, 238, 161, 162, 111, 190, 248, 170, 127, 100, 112, 223, 217, 193, 193, 184, 213, 203, 223, 188, 179, 103, 189, 223, 81, 131, 226, 213, 248, 84, 194, 115, 91, 118, 105, 207, 101]
d = 5
num_bins = (max(x) - min(x))//d # 得到整數
plt.hist(x,num_bins,density=True)
# 引數1:資料
# 引數2:組數
# normed: 直方圖每一柱子的比例
plt.grid()
plt.show()
相關文章
- python畫散點圖和折線圖Python
- matlab畫折線圖Matlab
- python matplotlib畫圖是設定線寬Python
- pandas讀取csv檔案資料並使用matplotlib畫折線圖和餅圖
- Python 利用pandas和matplotlib繪製柱狀折線圖Python
- 微信小程式折線圖表折線圖加區域圖微信小程式
- Python視覺化-折線圖Python視覺化
- R : 折線圖
- canvas圖表(2) - 折線圖Canvas
- Python視覺化(1):折線圖Python視覺化
- matplotlib 畫圖直接寫入excelExcel
- echarts 折線圖拼接Echarts
- excel折線圖自定x軸y軸 excel折線圖xy設定Excel
- ECHARTS-折線圖不顯示資料 控制折線圖顏色Echarts
- python matplotlib畫圖設定座標軸刻度的字型大小Python
- PHP 生成折線圖和餅圖等PHP
- java作折線圖(轉)Java
- PyQtGraph繪製折線圖QT
- AnyChart繪製折線圖
- Echarts資料視覺化:圖表篇(2)—— 折線圖、堆疊面積折線圖Echarts視覺化
- 用Python的random模組繪製折線圖Pythonrandom
- Python Pandas 時間序列雙軸折線圖Python
- python繪圖之matplotlibPython繪圖
- Android 折線圖之hellocharts (餅狀圖)餅圖Android
- 在Excel股價圖中新增折線圖Excel
- python matplotlib畫圖改變圖示題和座標軸標題的字型大小Python
- MATLAB 繪製折線圖Matlab
- 箱形圖(python畫圖)Python
- Flutter 實現平滑曲線折線圖Flutter
- 資料視覺化圖表之折線圖視覺化
- Excel 散點圖和折線圖的區別Excel
- amCharts繪製折線圖和柱狀圖混合
- 繪圖: Python matplotlib簡介繪圖Python
- 自定義View:畫布實現自定義View(折線圖的實現)View
- Tableau——資料前處理、折線圖、餅圖(環形圖)
- D3.js上手——折線圖JS
- Android 折線圖的實現Android
- amCharts繪製帶趨勢線折線圖