導航:首頁 > 編程語言 > Python如何繪制折線圖

Python如何繪制折線圖

發布時間:2022-11-02 02:22:07

python設置matplotlib.plot的坐標軸刻度間隔以及刻度范圍

import matplotlib.pyplot as plt

x_values=list(range(11))   #x軸的數字是0到10這11個整數

y_values=[x**2forx inx_values]   #y軸的數字是x軸數字的平方

plt.plot(x_values,y_values,c='green')  #用plot函數繪制折線圖,線條顏色設置為綠色

plt.title('Squares',fontsize=24)   #設置圖表標題和標題字型大小

plt.tick_params(axis='both',which='major',labelsize=14) #設置刻度的字型大小

plt.xlabel('Numbers',fontsize=14)  #設置x軸標簽及其字型大小

plt.ylabel('Squares',fontsize=14)  #設置y軸標簽及其字型大小

plt.show()

import matplotlib.pyplot as plt

from matplotlib.pyplot import MultipleLocator

#從pyplot導入MultipleLocator類,這個類用於設置刻度間隔

x_values=list(range(11))

y_values=[x**2forx inx_values]

plt.plot(x_values,y_values,c='green')

plt.title('Squares',fontsize=24)

plt.tick_params(axis='both',which='major',labelsize=14)

plt.xlabel('Numbers',fontsize=14)

plt.ylabel('Squares',fontsize=14)

x_major_locator=MultipleLocator(1) #把x軸的刻度間隔設置為1,並存在變數里

y_major_locator=MultipleLocator(10) #把y軸的刻度間隔設置為10,並存在變數里

ax=plt.gca() #ax為兩條坐標軸的實例

ax.xaxis.set_major_locator(x_major_locator) #把x軸的主刻度設置為1的倍數

ax.yaxis.set_major_locator(y_major_locator) #把y軸的主刻度設置為10的倍數

plt.xlim(-0.5,11)  #把x軸的刻度范圍設置為-0.5到11,因為0.5不滿一個刻度間隔,所以數字不會顯示出來,但是能看到一點空白

plt.ylim(-5,110) #把y軸的刻度范圍設置為-5到110,同理,-5不會標出來,但是能看到一點空白

plt.show()

㈡ python計算折線圖的波寬

在計算波寬的時候需要在plot的時候指定label,然後調用legend方法可以繪制圖例.pyplotaspltx=np.linspace(0,100)yy2np.sin(x)np.cos(xplt.ploty1,label='y=sin(x)')plt.plot(x,y2,label='y=cos(x)')plt.legend()plt.show()。
在計算時還需要下載安裝matplotlib模塊。使用Matplotlib生成數據圖即可。
Python由荷蘭數學和計算機科學研究學會的吉多·范羅蘇姆於1990年代初設計,作為一門叫做ABC語言的替代品。Python提供了高效的高級數據結構,還能簡單有效地面向對象編程

㈢ python matplotlib箱線圖

參考鏈接:https://www.jianshu.com/p/b2f70f867a4a

箱線圖,又稱箱形圖(boxplot)或盒式圖,不同於一般的折線圖、柱狀圖或餅圖等傳統圖表,只是數據大小、佔比、趨勢等等的呈現,其包含一些統計學的均值、分位數、極值等等統計量,因此,該圖信息量較大,不僅能夠分析不同類別數據平均水平差異(需在箱線圖中加入均值點),還能揭示數據間離散程度、異常值、分布差異等等。

在python中常用matplotlib的boxplot來繪制,最簡單繪制的如下:

.pyplotaspltimportpandasaspdnp.random.seed(2)#設置隨機種子df = pd.DataFrame(np.random.rand(5,4),columns=['A','B','C','D'])#先生成0-1之間的5*4維度數據,再裝入4列DataFrame中df.boxplot()#也可用plot.box()plt.show()

Paste_Image.png

從圖形可以看出,A、B、C、D四組數A、D數據較集中(大部分在上下四分位箱體內),但都有異常值,C的離散程度最大(最大值與最小值之間距離),以均值為中心,B分布都有明顯右偏(即較多的值分布在均值的右側),A、C則有明顯左偏。

(2)

從分析的角度來說,上面boxplot最初始圖形已經夠用,但是在matplotlib庫下boxplot函數中包含n多參數,涉及到對框的顏色及形狀、線段線型、均值線、異常點的形狀大小等等設置,由於大多並不常用,用了幾個常用參數,作圖如下:

df.boxplot(sym='r*',vert=False,patch_artist=True,meanline=False,showmeans=True)plt.show()

Paste_Image.png

其中,sym='r*',表示異常點的形狀,

vert=False,表示橫向還是豎向(True),,

patch_artist=True,(上下四分位框內是否填充,True為填充)

meanline=False,showmeans=True,是否有均值線及其形狀,meanline=True時,均值線也像中位數線一樣是條紅色線段,這樣容易與中位數線混淆。

另外,還有其他參數,比如notch表示中間箱體是否缺口,whis為設置數據的范圍,showcaps、showbox是否顯示邊框,可以參見

http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.boxplot ,如該網頁中圖形:

Paste_Image.png

左上圖是默認圖形,中上、右上是顯示均值點及形狀,左下是是否顯示箱體邊框,中下是帶缺口的箱體,右下是是否顯示異常值。

(3)

前邊說過,很多參數使用很少,但對於圖形來說,可能還能用到的就是美化,比如各條線的顏色,粗細程度等等。這里可用for循環來構造。

f=df.boxplot(sym='r*',patch_artist=True)forboxinf['boxes']:# 箱體邊框顏色box.set( color='#7570b3', linewidth=2)# 箱體內部填充顏色box.set( facecolor ='#1b9e77')forwhiskerinf['whiskers']:    whisker.set(color='r', linewidth=2)forcapinf['caps']:    cap.set(color='g', linewidth=3)formedianinf['medians']:    median.set(color='DarkBlue', linewidth=3)forflierinf['fliers']:    flier.set(marker='o', color='y', alpha=0.5)plt.show()

Paste_Image.png

其中,boxes, 是25分位值和75分位值構成的box,

medians, 是中位值的橫線, 每個median是一個Line2D對象

whiskers, 是指從box 到error bar之間的豎線.

fliers, 是指error bar線之外的離散點.

caps, 是指error bar橫線.

means, 是均值的橫線,

(4)

還可以做子圖,如我們在最開始的DataFrame數據中加入分類數據列:

df['E'] = np.random.choice(['X','Y'], size=20)#加入以X、Y隨機分類的E列print(df)plt.figure()df.boxplot(by='E')plt.show()

Paste_Image.png

這樣我們就可以比較,不同類別X、Y在同一列下的數據分布情況及其差異。

鏈接:https://www.jianshu.com/p/b2f70f867a4a

來源:

㈣ 如何用python繪制各種圖形

1.環境

系統:windows10

python版本:python3.6.1

使用的庫:matplotlib,numpy

2.numpy庫產生隨機數幾種方法

import numpy as np
numpy.random

rand(d0,d1,...,dn)

In [2]: x=np.random.rand(2,5)

In [3]: x
Out[3]:
array([[ 0.84286554, 0.50007593, 0.66500549, 0.97387807, 0.03993009],
[ 0.46391661, 0.50717355, 0.21527461, 0.92692517, 0.2567891 ]])

randn(d0,d1,...,dn)查詢結果為標准正態分布

In [4]: x=np.random.randn(2,5)

In [5]: x
Out[5]:
array([[-0.77195196, 0.26651203, -0.35045793, -0.0210377 , 0.89749635],
[-0.20229338, 1.44852833, -0.10858996, -1.65034606, -0.39793635]])

randint(low,high,size)

生成low到high之間(半開區間 [low, high)),size個數據

In [6]: x=np.random.randint(1,8,4)

In [7]: x
Out[7]: array([4, 4, 2, 7])

random_integers(low,high,size)

生成low到high之間(閉區間 [low, high)),size個數據

In [10]: x=np.random.random_integers(2,10,5)

In [11]: x
Out[11]: array([7, 4, 5, 4, 2])

3.散點圖

x x軸
y y軸
s 圓點面積
c 顏色
marker 圓點形狀
alpha 圓點透明度#其他圖也類似這種配置
N=50# height=np.random.randint(150,180,20)# weight=np.random.randint(80,150,20)
x=np.random.randn(N)
y=np.random.randn(N)
plt.scatter(x,y,s=50,c='r',marker='o',alpha=0.5)
plt.show()

8.箱型圖

import matplotlib.pyplot as pltimport numpy as npdata=np.random.normal(loc=0,scale=1,size=1000)#sym 點的形狀,whis虛線的長度plt.boxplot(data,sym="o",whis=1.5)plt.show()
#sym 點的形狀,whis虛線的長度

㈤ 如何使用Python的Pandas庫繪制折線圖

我們經常會使用Python的Pandas繪制各種數據圖形,那麼如何使用它繪制折線圖呢?下面我給大家分享一下。

工具/材料

Pycharm

㈥ python可視化神器——pyecharts庫

無意中從今日頭條中看到的一篇文章,可以生成簡單的圖表。據說一些大數據開發們也是經常用類似的圖表庫,畢竟有現成的,改造下就行,誰會去自己造輪子呢。

pyecharts是什麼?

pyecharts 是一個用於生成 Echarts 圖表的類庫。Echarts 是網路開源的一個數據可視化 JS 庫。用 Echarts 生成的圖可視化效果非常棒, pyecharts 是為了與 Python 進行對接,方便在 Python 中直接使用數據生成圖 。使用pyecharts可以生成獨立的網頁,也可以在flask、django中集成使用。

安裝很簡單:pip install pyecharts

如需使用 Jupyter Notebook 來展示圖表,只需要調用自身實例即可,同時兼容 Python2 和 Python3 的 Jupyter Notebook 環境。所有圖表均可正常顯示,與瀏覽器一致的交互體驗,簡直不要太強大。

參考自pyecharts官方文檔: http://pyecharts.org

首先開始來繪制你的第一個圖表

使用 Jupyter Notebook 來展示圖表,只需要調用自身實例即可

add() 主要方法,用於添加圖表的數據和設置各種配置項

render() 默認將會在根目錄下生成一個 render.html 的文件,文件用瀏覽器打開。

使用主題

自 0.5.2+ 起,pyecharts 支持更換主體色系

使用 pyecharts-snapshot 插件

如果想直接將圖片保存為 png, pdf, gif 格式的文件,可以使用 pyecharts-snapshot。使用該插件請確保你的系統上已經安裝了 Nodejs 環境。

安裝 phantomjs $ npm install -g phantomjs-prebuilt

安裝 pyecharts-snapshot $ pip install pyecharts-snapshot

調用 render 方法 bar.render(path='snapshot.png') 文件結尾可以為 svg/jpeg/png/pdf/gif。請注意,svg 文件需要你在初始化 bar 的時候設置 renderer='svg'。

圖形繪制過程

基本上所有的圖表類型都是這樣繪制的:

chart_name = Type() 初始化具體類型圖表。

add() 添加數據及配置項。

render() 生成本地文件(html/svg/jpeg/png/pdf/gif)。

add() 數據一般為兩個列表(長度一致)。如果你的數據是字典或者是帶元組的字典。可利用 cast() 方法轉換。

多次顯示圖表

從 v0.4.0+ 開始,pyecharts 重構了渲染的內部邏輯,改善效率。推薦使用以下方式顯示多個圖表。如果使是 Numpy 或者 Pandas,可以參考這個示例

當然你也可以採用更加酷炫的方式,使用 Jupyter Notebook 來展示圖表,matplotlib 有的,pyecharts 也會有的

Note: 從 v0.1.9.2 版本開始,廢棄 render_notebook() 方法,現已採用更加  pythonic  的做法。直接調用本身實例就可以了。

比如這樣

還有這樣

如果使用的是自定義類,直接調用自定義類示例即可

圖表配置

圖形初始化

通用配置項

xyAxis:平面直角坐標系中的 x、y 軸。(Line、Bar、Scatter、EffectScatter、Kline)

dataZoom:dataZoom 組件 用於區域縮放,從而能自由關注細節的數據信息,或者概覽數據整體,或者去除離群點的影響。(Line、Bar、Scatter、EffectScatter、Kline、Boxplot)

legend:圖例組件。圖例組件展現了不同系列的標記(symbol),顏色和名字。可以通過點擊圖例控制哪些系列不顯示。

label:圖形上的文本標簽,可用於說明圖形的一些數據信息,比如值,名稱等。

lineStyle:帶線圖形的線的風格選項(Line、Polar、Radar、Graph、Parallel)

grid3D:3D笛卡爾坐標系組配置項,適用於 3D 圖形。(Bar3D, Line3D, Scatter3D)

axis3D:3D 笛卡爾坐標系 X,Y,Z 軸配置項,適用於 3D 圖形。(Bar3D, Line3D, Scatter3D)

visualMap:是視覺映射組件,用於進行『視覺編碼』,也就是將數據映射到視覺元素(視覺通道)

markLine&markPoint:圖形標記組件,用於標記指定的特殊數據,有標記線和標記點兩種。(Bar、Line、Kline)

tooltip:提示框組件,用於移動或點擊滑鼠時彈出數據內容

toolbox:右側實用工具箱

圖表詳細

Bar(柱狀圖/條形圖)

Bar3D(3D 柱狀圖)

Boxplot(箱形圖)

EffectScatter(帶有漣漪特效動畫的散點圖)

Funnel(漏斗圖)

Gauge(儀表盤)

Geo(地理坐標系)

GeoLines(地理坐標系線圖)

Graph(關系圖)

HeatMap(熱力圖)

Kline/Candlestick(K線圖)

Line(折線/面積圖)

Line3D(3D 折線圖)

Liquid(水球圖)

Map(地圖)

Parallel(平行坐標系)

Pie(餅圖)

Polar(極坐標系)

Radar(雷達圖)

Sankey(桑基圖)

Scatter(散點圖)

Scatter3D(3D 散點圖)

ThemeRiver(主題河流圖)

TreeMap(矩形樹圖)

WordCloud(詞雲圖)

用戶自定義

Grid 類:並行顯示多張圖

Overlap 類:結合不同類型圖表疊加畫在同張圖上

Page 類:同一網頁按順序展示多圖

Timeline 類:提供時間線輪播多張圖

統一風格

註:pyecharts v0.3.2以後,pyecharts 將不再自帶地圖 js 文件。如用戶需要用到地圖圖表,可自行安裝對應的地圖文件包。

地圖文件被分成了三個 Python 包,分別為:

全球國家地圖:

echarts-countries-pypkg

中國省級地圖:

echarts-china-provinces-pypkg

中國市級地圖:

echarts-china-cities-pypkg

直接使用python的pip安裝

但是這里大家一定要注意,安裝完地圖包以後一定要重啟jupyter notebook,不然是無法顯示地圖的。

顯示如下:

總得來說,這是一個非常強大的可視化庫,既可以集成在flask、Django開發中,也可以在做數據分析的時候單獨使用,實在是居家旅行的必備神器啊

㈦ python畫折線圖

#encoding=utf-8
importmatplotlib.pyplotasplt
frompylabimport*#支持中文
mpl.rcParams['font.sans-serif']=['SimHei']

names=['5','10','15','20','25']
x=range(len(names))
y=[0.855,0.84,0.835,0.815,0.81]
y1=[0.86,0.85,0.853,0.849,0.83]
#plt.plot(x,y,'ro-')
#plt.plot(x,y1,'bo-')
#pl.xlim(-1,11)#限定橫軸的范圍
#pl.ylim(-1,110)#限定縱軸的范圍
plt.plot(x,y,marker='o',mec='r',mfc='w',label=u'y=x^2曲線圖')
plt.plot(x,y1,marker='*',ms=10,label=u'y=x^3曲線圖')
plt.legend()#讓圖例生效
plt.xticks(x,names,rotation=45)
plt.margins(0)
plt.subplots_adjust(bottom=0.15)
plt.xlabel(u"time(s)鄰居")#X軸標簽
plt.ylabel("RMSE")#Y軸標簽
plt.title("Asimpleplot")#標題

plt.show()

㈧ Python Matplotlib畫圖

主要用於作圖、可視化問題

pip install matplotlib

導入模塊 pyplot 和 pylab ,可以參考下面鏈接觀察兩者區別:
https://www.cnblogs.com/Shoesy/p/6673947.html
(說白了就是pylay=pyplot+numpy)

輸入這三行解決

主要使用 plot() 來展示,裡面前兩個參數代表 x , y 坐標(注意x,y數量要一樣),第三個參數可以用來設置散點圖( 'o' )或者顏色、線條形式等各種樣式,並且第三個參數可以同時傳入多個,比如要紅色的散點圖就: Ɔr'
(1)顏色樣式:

(2)線條樣式:

(3)點的樣式:

(4)坐標區間:

或者分別設置x、y的區間:

註:
設置點的樣式時默認就是散點圖,以及同類樣式只能設置一個(比如不能設置兩種顏色),並且還可以把多個圖集合在一起展示,那就多 plot 幾個,plot就相當於一個畫布,每plot一個就相當於在上面畫一張圖,再弄就繼續在上面畫

主要用 hist() 來顯示,實現方式很簡單,把一組數據放入括弧里就行了,例如隨機生成一堆正態分布的數,然後直方圖顯示:

其中如果要設置直方圖格式(寬度、上下限、是否要輪廓)可以這樣:

註:
直方圖和折線圖這些不太一樣,折線圖是傳入兩個等長數據,然後每個x、y坐標一一對應展示出來。而直方圖是:第一個參數代表你傳入的所有數據,第二個參數代表你傳入的x軸范圍,然後直方圖會將第一個參數里傳入的數據一個個計算在某個范圍內含有的數據量,因此傳入的兩個參數數據不一定要等長,例如下面的例子:

結果如圖:

可以看出數據被自動分配到對應的范圍內上了

使用 subplot(row, col, area) :三個參數分別是行數、列數和區域,比如要將原圖分成2行2列(切成4份),然後要左下角那個圖就:

如果想4個圖都顯示就4個 subplot ,分別1、2、3、4就行了,然後在各圖的subplot之後寫的都是每個圖的內容,現在我們試試弄一個2行,第一行兩列的圖片(想像下滑鼠的樣子),而且分別是不同的內容:

註:
labels 、 sizes 、 colors 和 explode 的長度都要一樣

1.導入3D圖相關模塊:

2.將畫圖板加到3D模塊里,然後加入數據即可:

3D散點圖舉例:

通過 imread() 讀取,舉例:

https://blog.csdn.net/qq_34859482/article/details/80617391

㈨ python怎麼畫折線圖

一、環境准備

linux ubuntu 下需安裝下面三個包:

Numpy, Scipy,Matplotlib

分別輸入下面的代碼進行安裝:

[plain]view plain

閱讀全文

與Python如何繪制折線圖相關的資料

熱點內容
五菱宏光空調壓縮機 瀏覽:64
為什麼app佔用幾百兆 瀏覽:676
自動解壓失敗叫我聯系客服 瀏覽:482
易語言新手源碼 瀏覽:456
oa伺服器必須有固定ip地址 瀏覽:42
傳奇源碼分析是什麼 瀏覽:267
解放壓縮機支架 瀏覽:255
程序員禿頂搞笑相遇 瀏覽:6
IBM手機app商店叫什麼名字 瀏覽:834
jpeg壓縮質量 瀏覽:774
雲伺服器評測對比 瀏覽:145
java日期轉string 瀏覽:221
openfire源碼編譯 瀏覽:897
在線小工具箱引流網站源碼 瀏覽:337
非科班程序員自學 瀏覽:801
壓縮泡沫鞋底底材 瀏覽:221
程序員職場第一課2正確的溝通 瀏覽:681
遇到不合法app應該怎麼辦 瀏覽:92
匯編程序編譯後的文件 瀏覽:81
大智慧均線源碼 瀏覽:374