日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python-Matplotlib绘制简单图像

發布時間:2025/3/21 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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,'r--',label="aaa") plt.legend() # 配合plt.plot(label="aaa")用于顯示圖例matplotlib.rcParams['font.family']='SimHei' matplotlib.rcParams['font.size'] = 12plt.xlabel("x 軸") plt.ylabel("y 軸")

  • 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.

plt.hist(a, bins=10, density = 1, facecolor="blue", edgecolor="black", alpha=0.7)

改進前

改進后(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绘制简单图像的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。