Python-Matplotlib绘制简单图像
生活随笔
收集整理的這篇文章主要介紹了
Python-Matplotlib绘制简单图像
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1.plot 繪制直線圖
- 2. subplot 子圖
- 繪制直方圖
- 繪制散點圖
- 解決中文無法顯示&&負號無法顯示的問題
- 繪制3D圖像
- 熱力圖
1.plot 繪制直線圖
import matplotlib.pyplot as plt import matplotlibx = [1,2,3] y = [4,5,6]plt.plot(a,b) plt.show()
每次都執行plt.show()才顯示圖像,比較麻煩,我們運行一下代碼%matplotlib inline這樣以后用plt.plot()就可以顯示圖像了,下面代碼承接上文代碼:
-
plt.plot()
- 第一參數為x軸的值,第二個參數為y軸的值
- 第三個參數指明圖像線的屬性(本例中是用紅色的虛線)
- 第四個參數指明圖像中的線是指什么,即圖例(plt.legend()用于將圖例顯示在圖像上)
-
plt.xlabel(“x 軸”) 設置x,y軸名稱
2. subplot 子圖
plt.subplot(211)或plt.subplot(2,1,1)
其實就是對圖做了切分,現在展示的是一個2行1列的,最后的參數指明是哪一個圖plt.subplot(2,1,1)就是第一個,plt.subplot(2,1,2)就是第二個
1.繪制折線圖,并給出解決中文無法顯示的問題
import numpy as np import matplotlib.pyplot as plt import matplotlib#方法一,改變全局字體matplotlib.rcParams['font.family']='SimHei' # 'fangsong' matplotlib.rcParams['font.size'] = 12 matplotlib.rcParams['axes.unicode_minus']=False #用來正常顯示負號plt.subplot(211) plt.plot([3,1,4,5,2],label = '報考人數') #添加label時要用legend()函數 plt.legend(loc = "best") plt.xlabel("橫軸") plt.ylabel("縱軸(值)")#方法二,plt.xlabel()內增加fontproperties,fontsizeplt.subplot(212) x = np.arange(0.0,5.0,0.02) y = np.cos(2*np.pi*x) plt.xlabel('橫軸,時間',fontproperties='simhei',fontsize = 20) plt.ylabel('縱軸,時間',fontproperties='simhei',fontsize= 10) plt.plot(x,y,'r--') plt.show()繪制直方圖
import matplotlib.pyplot as plt import numpy as np# 生成需要顯示的數據 np.random.seed(0) mu,sigma = 100,20 a = np.random.normal(mu,sigma,size = 100)#第二個參數為直方圖的個數,histtype = 'stepfilled'設置柱子之間顏色間隙 plt.hist(a, bins=10, normed=0, histtype = 'stepfilled',facecolor="blue", edgecolor="black", alpha=0.7) # plt.hist(a,10,normed = 1,histtype = 'stepfilled',facecolor = 'b',alpha = 0.75) plt.title('Histgram') plt.show()plt.hist()中參數rwidth=0.9可調節柱之間的間距
新版本不用normed ,改用density.
改進前
改進后(2019-7-22)
繪制散點圖
https://www.cnblogs.com/sunshinewang/p/6853813.html
import numpy as np import matplotlib.pyplot as plt N = 1000 x = np.array([0,1,2,3,4,5,6,7,8,9]) y = np.array([1,1,1,-1,-1,-1,1,1,1,-1]) plt.scatter(x, y) plt.show() import numpy as np import matplotlib.pyplot as pltN = 1000 x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) y = np.array([5.56, 5.70, 5.91, 6.4, 6.8, 7.05, 8.9, 8.7, 9, 9.05]) plt.scatter(x, y) x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) y = np.array([5.72, 5.72, 5.72, 6.46, 6.46, 6.46, 9.13, 9.13, 9.13, 9.13]) plt.scatter(x, y, c='red') plt.show()解決中文無法顯示&&負號無法顯示的問題
方法一,改變全局字體
import matplotlib matplotlib.rcParams['font.family']='SimHei' # 'fangsong' matplotlib.rcParams['font.size'] = 12 matplotlib.rcParams['axes.unicode_minus']=False #用來正常顯示負號方法二,plot()內增加fontproperties,fontsize
plt.xlabel('橫軸,時間',fontproperties='simhei',fontsize = 20) plt.ylabel('縱軸,時間',fontproperties='simhei',fontsize= 10)繪制3D圖像
https://blog.csdn.net/shu15121856/article/details/72590620#
熱力圖
import numpy as np import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt import seaborn as sns %matplotlib inlinesns.set(style='whitegrid', color_codes=True)data = np.array([[0,0,0,1],[0,0,0,1],[0,0,0,0],[0,0,0,0]]) sns.heatmap(data)總結
以上是生活随笔為你收集整理的Python-Matplotlib绘制简单图像的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Sublime Text 3搭建前端环境
- 下一篇: Python-OS平台编程