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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pandas 知识点补充:绘图plot

發布時間:2025/4/5 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pandas 知识点补充:绘图plot 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 plot介紹

????????使用DataFrame的plot方法繪制圖像會按照數據的每一列繪制一條曲線,默認按照列columns的名稱在適當的位置展示圖例,比matplotlib繪制節省時間,且DataFrame格式的數據更規范,方便向量化及計算。

DataFrame.plot(x=None, y=None, kind='line', ax=None, subplots=False, sharex=None, sharey=False, layout=None, figsize=None, use_index=True, title=None, grid=None, legend=True, style=None, logx=False, logy=False, loglog=False, xticks=None, yticks=None, xlim=None, ylim=None, rot=None, fontsize=None, colormap=None, position=0.5, table=False, yerr=None, xerr=None, stacked=True/False, sort_columns=False, secondary_y=False, mark_right=True, **kwds)

?2 主要參數

kind?

繪圖類型‘line’折線圖
‘bar’

條形圖。

stacked為True時為堆疊的柱狀圖

‘barh’?橫向條形圖
‘hist’直方圖(數值頻率分布)
‘box’?箱型圖
‘kde’

Kernel Density Estimation plot

密度圖,主要對柱狀圖添加Kernel 概率密度線

‘area’?

與x軸所圍區域圖(面積圖)。

Stacked=True時,每列必須全部為正或負值,

stacked=False時,對數據沒有要求

‘pie’

餅圖。

數值必須為正值,需指定Y軸或者subplots=True

‘scatter’?散點圖。需指定X軸Y軸
‘hexbin’?蜂巢圖。需指定X軸Y軸

subplots?

?boolean

default False

是否對列分別作子圖

grid

圖片是否有網格

legend

子圖的圖例 (默認為True)

logx?

設置x軸刻度是否取對數

logy?

設置y軸刻度是否取對數

loglog

同時設置x,y軸刻度是否取對數

xlim&ylim

設置坐標軸的范圍。

數值(最小值)或元組(區間范圍)

fontsize

設置軸刻度的字體大小

colormap

設置圖的區域顏色

colorbar

柱子顏色

secondary_y?

?boolean or sequence, default False?

設置第二個y軸(右輔助y軸)

?2.1 其他需要注意的地方

2.1.1 設置X、Y軸名稱

ax.set_ylabel('yyy')

ax.set_xlabel('xxx')

2.1.2 plt.legend(loc='best')

  • loc:圖列位置

2.1.3每種繪圖類型都有相對應的方法。

比如,?df.plot(kind='line')與df.plot.line()等價

2.1.4 畫圖步驟

1)首先定義畫圖的畫布:fig = plt.figure( )

2)然后定義子圖ax ,使用 ax= fig.add_subplot( 行,列,位置標)

3)用 ax.plot( )函數或者 df.plot(ax = ax)

4)結尾加plt.show()

3 畫圖舉例

3.0 直接做圖

每一列一條線

import numpy as npimport pandas as pdimport matplotlib.pyplot as pltts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000)) # ts = ts.cumsum()df =pd.DataFrame(np.random.randn(1000, 4), index=ts.index, columns=list('ABCD')) df = df.cumsum()df.plot()#每一列一條線

?

?

3.1 主副軸

import numpy as npimport pandas as pdimport matplotlib.pyplot as pltts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))df =pd.DataFrame(np.random.randn(1000, 4), index=ts.index, columns=list('ABCD')) df = df.cumsum()#A圖用左Y軸標注,B圖用右Y軸標注,二者共用一個X軸df.A.plot()#對A列作圖,同理可對行做圖df.B.plot(secondary_y=True, style='g')#設置第二個y軸(右y軸)

?3.1.1 主副軸分別設置標簽位置

import numpy as npimport pandas as pdimport matplotlib.pyplot as pltts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))df =pd.DataFrame(np.random.randn(1000, 4), index=ts.index, columns=list('ABCD')) df = df.cumsum()ax = df.plot(secondary_y=['A', 'B']) # 定義column A B使用右Y軸。ax.set_ylabel('CD scale')ax.right_ax.set_ylabel('AB scale')ax.legend(loc='upper left') #設置圖例的位置ax.right_ax.legend(loc='upper right') #分別設置主副軸的位置和標題plt.show()

?

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的pandas 知识点补充:绘图plot的全部內容,希望文章能夠幫你解決所遇到的問題。

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