認識jupyter notebook 和 Matplotlib的基本用法
1、認識jupyter notebook
jupyter notebook:一款程式設計/文件/筆記/展示軟體,具有很好的互動性,大量減少了調式的時間,這裡暫不介紹 jupyter lab 。
啟動命令:jupyter notebook
具體安裝網上有教程 這裡不細說
想在MAC終端啟動並在後臺掛起請輸入
nohup jupyter notebook&
jobs :檢視當前有多少在後臺執行的命令
使用 jobs -l 可以顯示程式號 , kill -9 pid 可以終止執行的命令。
2、認識Matplotlib
matplotlib: 最流行的Python底層繪相簿,主要做資料視覺化圖表,名字取材於MATLAB,模仿MATLAB構建
在jupyter notebook上執行matplotlib ,請輸出下面語句以順利解決中文亂碼
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] # windos 下解決中文亂碼的方法
plt.rcParams['font.sans-serif']=['Hiragino Sans GB'] # MAC 下解決中文亂碼的方法
plt.rcParams['axes.unicode_minus']=False #用來正常顯示負號 通用
3、安裝環境
pip3 install matplotlib
如果上面的方法太慢,建議使用下面方法
選用的是清華源
pip3 install -i https://pypi.doubanio.com/simple/ matplotlib
3.1 折線圖
plt.figure() # 用來設定圖片,如引數figsize 設定圖片大小,dpi 設定圖片解析度
plt.style.use() # 畫布風格,可以採用seaborn 的 風格
例如:plt.style.use(‘seaborn-whitegrid’) 主題為白的網格畫布
plt.plot() # 新增x,y引數 label:圖例名稱 ,color:顏色,ls:線條型別 ,lw:線條寬度
plt.legend() #新增圖例 ,新增loc引數可以改變圖例位置
plt.ylabel()、 plt.xlabel()、 plt.title()分別是y軸標籤,x軸標籤和標題
plt.show() # 展示
在開始之前,環境如下:每個demo 之前
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import random
plt.rcParams['font.sans-serif']=['Hiragino Sans GB'] # 由於我的是mac 所以採用mac 中文亂碼解決方法
plt.rcParams['axes.unicode_minus']=False #用來正常顯示負號
下面是折線圖的demo
x = range(120)
y = [random.uniform(20,35) for i in range(120)]
plt.figure(figsize=(20,8),dpi=80)
_x_xticks = ['10點{}分'.format(i) for i in range(60)]
_x_xticks += ['11點{}分'.format(i) for i in range(60)]
plt.xticks(list(x)[::10],_x_xticks[::10],rotation=45) # xaix [::10] 列表取步長,為了X軸顯示不那麼緊密
plt.xlabel('時間')
plt.ylabel('溫度')
plt.title('溫度隨時間變化圖')
plt.plot(x,y,label='曲線',color='red',ls='-.',lw=2.4)
plt.legend(loc='best')
plt.show()
3.2 散點圖 —demo
a = [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]
b = [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]
a_x = range(1,32)
b_x = range(51,82)
# 設定畫布大小
plt.figure(figsize=(20,8),dpi=80)
# 橫座標
_x = list(a_x)+list(b_x)
_x_xticks = ['3月{}日'.format(i) for i in a_x]
_x_xticks += ['11月{}日'.format(i-50) for i in b_x]
plt.xticks(_x[::5],_x_xticks[::5],rotation=45)
# 畫圖
plt.scatter(a_x,a,label='3月')
plt.scatter(b_x,b,label='11月')
# 新增圖例
plt.legend()
# 展示
plt.show()
3.3 條形圖—demo
a = ["戰狼2","速度與激情8","功夫瑜伽","西遊伏妖篇","變形金剛5\n:最後的騎士","摔跤吧!爸爸","加勒比海盜5\n:死無對證","金剛:骷髏島","極限特工\n:終極迴歸","生化危機6:終章","乘風破浪","神偷奶爸3","智取威虎山","大鬧天竺","金剛狼3\n:殊死一戰","蜘蛛俠\n:英雄歸來","悟空傳","銀河護衛隊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]
# 設定畫布大小
plt.figure(figsize=(20,8),dpi=80)
# 橫座標設定
_x = range(len(a))
plt.xticks(_x,a,rotation=90)
# 畫圖
plt.bar(_x,b,label='票房資料',width=0.3,color='orange')
# 新增圖例
plt.legend()
plt.ylabel('單位:億')
plt.title("內地票房top20")
plt.xlabel('電影名稱')
# 儲存圖片
plt.savefig('/Users/apple/Desktop/個人學習/img/demo_3.png')
# 展示
plt.show()
3.4 進階條形圖 —demo
a = ["猩球崛起3:終極之戰","敦刻爾克","蜘蛛俠:英雄歸來","戰狼2"]
b_16 = [15746,312,4497,319]
b_15 = [12357,156,2045,168]
b_14 = [2358,399,2358,362]
# 設定畫布大小
plt.figure(figsize=(20,8),dpi=80)
# 設定橫座標
_bar_width = 0.2
_x = range(len(a))
_x_xticks = [i + _bar_width for i in _x]
plt.xticks(_x_xticks,a)
# 畫圖
plt.bar(_x,b_14,width=_bar_width,label='9月14日')
plt.bar([i+_bar_width for i in _x],b_15,width=_bar_width,label='9月15日')
plt.bar([i+_bar_width*2 for i in _x],b_16,width=_bar_width,label='9月16日')
# 新增圖例
plt.legend()
# 新增標題
plt.ylabel('票房(單位:萬元)')
plt.title('9月14、15、16三天票房')
plt.xlabel('電影名')
# 新增網格
# plt.grid(alpha=0.4)
# 儲存圖片
plt.savefig('/Users/apple/Desktop/個人學習/img/demo_4.png')
# 展示
plt.show()
在這裡插入圖片描述
總結 :若上訴的圖片無法展示且報錯,請在jupyter notebook 中新增一行
%matplotlib inline
原理如下:Matplotlib嵌入Jupyter之後,這種Matplotlib生成的影像就處於一種非互動的模式,而%matplotlib inline命令就是啟用Matplotlib,為Ipython和Jupyter提供“內嵌後端”支援,也就是作為一個靜態影像嵌入Jupyer中,因此Matplotlib就不需要使用plt.show()來主動呼叫影像展示視窗
相關文章
- Jupyter Notebook
- Jupyter Notebook的使用
- 【Jupyter Notebook】jupyter notebook呼叫另一個.ipynb檔案
- Jupyter Notebook的安裝
- Jupyter Notebook 中同時使用 Python 和 RPython
- Jupyter Notebook入門指南
- jupyter notebook各種操作
- Jupyter Notebook新增Ruby支援
- Jupyter可能並非理想的Notebook
- python字典基本認識和操作Python
- pycharm中執行jupyter notebookPyCharm
- Jupyter Notebook 使用與安裝
- Anaconda下安裝Jupyter notebook
- jupyter notebook 刪除指定 kernel
- 搭建jupyter notebook伺服器伺服器
- 為Jupyter Notebook 新增目錄
- jupyter notebook 遠端訪問
- Jupyter notebook快速入門教程
- Jupyter Notebook的Kotlin核心(0.8版本)Kotlin
- [譯] 給初學者的 Jupyter Notebook 教程
- jupyter notebook外掛環境配置
- Jupyter notebook 新增虛擬環境
- Jupyter notebook 中用 pip 安裝 tensorflow
- Jupyter Notebook修改登陸密碼密碼
- Jupyter Notebook 下安裝 PHP 核心PHP
- Linux基本認識Linux
- 視覺化執行Python的神器Jupyter Notebook視覺化Python
- jupyter notebook中 切換不同的Python環境Python
- 修改 jupyter notebook 啟動工作路徑的方法
- 在Jupyter Notebook,沉浸式體驗ChatGPTChatGPT
- jupyter notebook如何選擇conda環境
- Jupyter Notebook配置,一篇就夠
- PEP8 python規範神器和jupyter notebook主題更改Python
- Redis(1)_Redis的基本認識Redis
- jupyter notebook 中執行展示控制行的數量
- Bong!5 款超牛逼的 Jupyter Notebook 外掛!
- Jupyter Notebook介紹、安裝及使用教程
- Jupyter Notebook怎麼更改預設路徑