Ⅰ 怎麼用python畫數據分布直方圖
計算頻數:
給定一個序列t:
hist = {}
for x in t:
hist[x] = hist.get(x,0)+1
得到的結果是一個將值映射到其頻數的字典。將其除以n即可把頻數轉換成頻率,這稱為歸一化:
n = float(len(t))
pmf = {}
for x, freq in hist.items():
pmf[x] = freq/n
繪制直方圖:
Vals, freqs = hist.Render()
rectangles = pyplot.bar(vals, freqs)
pyplot.show()
繪制概率質量函數:
採用柱狀圖,可以用pyplot.bar或myplot.Hist。如果Pmf中的值不多,柱狀圖就比較合適
採用折線圖,可以用pyplot.plot或者myplot.Pmf。如果Pmf中的值較多,且比較平滑,折線圖就比較合適。
*百分比差異圖
直觀顯示兩組數據的分布差異,詳見教材。
Ⅱ python 怎麼將數據用matplotlib畫出來
matplotlib的pyplot子庫提供了和matlab類似的繪圖API,方便用戶快速繪制2D圖表。例子:
# coding=gbk
'''
Created on Jul 12, 2014
python 科學計算學習:numpy快速處理數據測試
@author: 皮皮
'''
import string
Ⅲ Python如何運用matplotlib庫繪制3D圖形
3D圖形在數據分析、數據建模、圖形和圖像處理等領域中都有著廣泛的應用,下面將給大家介紹一下如何在Python中使用 matplotlib進行3D圖形的繪制,包括3D散點、3D表面、3D輪廓、3D直線(曲線)以及3D文字等的繪制。
准備工作:
python中繪制3D圖形,依舊使用常用的繪圖模塊matplotlib,但需要安裝mpl_toolkits工具包,安裝方法如下:windows命令行進入到python安裝目錄下的Scripts文件夾下,執行: pip install --upgrade matplotlib即可;Linux環境下直接執行該命令。
安裝好這個模塊後,即可調用mpl_tookits下的mplot3d類進行3D圖形的繪制。
下面以實例進行說明。
1、3D表面形狀的繪制
這段代碼是繪制一個3D的橢球表面,結果如下:
2、3D直線(曲線)的繪制
這段代碼用於繪制一個螺旋狀3D曲線,結果如下:
3、繪制3D輪廓
繪制結果如下:
相關推薦:《Python視頻教程》
4、繪制3D直方圖
繪制結果如下:
5、繪制3D網狀線
繪制結果如下:
6、繪制3D三角面片圖
繪制結果如下:
7、繪制3D散點圖
繪制結果如下:
Ⅳ 怎樣用python對csv的一行數據進行畫圖。
不知道你的一行數據是怎樣的,或者說想畫什麼圖。如果說一行數據都是數字,你可以用matplotlib去畫,一般畫圖都需要x軸y軸兩種,你可以把你的那一行數據作為y軸,x軸用0到n ,n是數據長度。
Ⅳ 怎麼用python繪圖
你可以使用numpy和matplotlab這兩個庫來實現的你功能。
你的圖可以參考:
http://matplotlib.org/examples/pylab_examples/histogram_percent_demo.html
importmatplotlib
fromnumpy.randomimportrandn
importmatplotlib.pyplotasplt
frommatplotlib.tickerimportFuncFormatter
defto_percent(y,position):
#Ignorethepassedinposition.
#ticklocations.
s=str(100*y)
#
ifmatplotlib.rcParams['text.usetex']==True:
returns+r'$\%$'
else:
returns+'%'
x=randn(5000)
#Makeanormedhistogram.It'llbemultipliedby100later.
plt.hist(x,bins=50,normed=True)
#_percent.Thismultipliesallthe
#defaultlabelsby100,makingthemallpercentages
formatter=FuncFormatter(to_percent)
#Settheformatter
plt.gca().yaxis.set_major_formatter(formatter)
plt.show()
最主要的就是x軸和y軸的處理,我按照對數算了一下你提供的數據,好像和這個圖效果不一樣。
如果解決了您的問題請採納!
如果未解決請繼續追問
Ⅵ python多維數據怎麼繪制散點圖
python matplotlib模塊,是擴展的MATLAB的一個繪圖工具庫。他可以繪制各種圖形,可是最近最的一個小程序,得到一些三維的數據點圖,就學習了下python中的matplotlib模塊,如何繪制三維圖形。
初學者,可能對這些第三方庫安裝有一定的小問題,對於一些安裝第三方庫經驗較少的朋友,建議使用 Anaconda ,集成了很多第三庫,基本滿足大家的需求,下載地址,對應選擇python 2.7 或是 3.5 的就可以了(PS:後面的demo是python2.7):
首先提醒注意,以下兩個函數的區別:
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow') #繪面1
和
ax.scatter(x[1000:4000],y[1000:4000],z[1000:4000],c='r') #繪點1
1、繪制3D曲面圖
# -*- coding: utf-8 -*-"""
Created on Thu Sep 24 16:17:13 2015
@author: Eddy_zheng
"""from matplotlib import pyplot as pltimport numpy as npfrom mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = Axes3D(fig)
X = np.arange(-4, 4, 0.25)
Y = np.arange(-4, 4, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)# 具體函數方法可用 help(function) 查看,如:help(ax.plot_surface)ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow')
plt.show()
效果展示:
2、繪制三維的散點圖(通常用於表述一些數據點分布)
4a.mat 數據地址,找到4a.mat 下載即可:
# -*- coding: utf-8 -*-"""
Created on Thu Sep 24 16:37:21 2015
@author: Eddy_zheng
"""import scipy.io as sio
from mpl_toolkits.mplot3d import Axes3Dimport matplotlib.pyplot as plt
mat1 = '4a.mat' #這是存放數據點的文件,需要它才可以畫出來。上面有下載地址data = sio.loadmat(mat1)
m = data['data']
x,y,z = m[0],m[1],m[2]
ax=plt.subplot(111,projection='3d') #創建一個三維的繪圖工程#將數據點分成三部分畫,在顏色上有區分度ax.scatter(x[:1000],y[:1000],z[:1000],c='y') #繪制數據點ax.scatter(x[1000:4000],y[1000:4000],z[1000:4000],c='r')
ax.scatter(x[4000:],y[4000:],z[4000:],c='g')
ax.set_zlabel('Z') #坐標軸ax.set_ylabel('Y')
ax.set_xlabel('X')
plt.show()24252627
效果:
上面就是學習區分了下兩個函數,當時還被小困惑了下,希望對大家有所幫助。其實裡面還有好多參數設置,比如說改變顏色,包括繪制點圖的點的形狀等都是可以改變的,有需要的大家可以自己看看這個函數,學習下(help(對應的function))。
版權聲明:本文為博主原創文章,未經博主允許不得轉載。Eddy_zheng
Ⅶ python怎麼用列表中的數據畫圖
可以在matplotlib的文檔中找到各種圖表類型,由於根據特定布局創建Figure和subplot是一件常見的任務,於是便出現一個更為方便的方法:
plt.subplots,它可以創建一個新的Figure,且返回一個含有已創建的subplot對象的numpy數組。