python绘图中的四个绘图技巧
pre{overflow-x: auto}技巧1: plt.subplots()
技巧2: plt.subplot()
技巧3: plt.tight_layout()
技巧4: plt.suptitle()
数据集:
让我们导入包并更新图表的默认设置,为图表添加一点个人风格。 我们将在提示上使用 Seaborn 的内置数据集:
import seaborn as sns # v0.11.2 import matplotlib.pyplot as plt # v3.4.2 sns.set(style='darkgrid', context='talk', palette='rainbow')df = sns.load\_dataset('tips') df.head()技巧1: plt.subplots()
绘制多个子图的一种简单方法是使用 plt.subplots() 。
这是绘制 2 个并排子图的示例语法:
fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(10,4)) sns.histplot(data=df, x='tip', ax=ax[0]) sns.boxplot(data=df, x='tip', ax=ax[1]);
在这里,我们在一个图中绘制了两个子图。 我们可以进一步自定义每个子图。
例如,我们可以像这样为每个子图添加标题:
fig, ax = plt.subplots(1, 2, figsize=(10,4)) sns.histplot(data=df, x='tip', ax=ax[0]) ax[0].set\_title("Histogram") sns.boxplot(data=df, x='tip', ax=ax[1]) ax[1].set\_title("Boxplot");
在循环中将所有数值变量用同一组图表示:
numerical = df.select\_dtypes('number').columnsfor col in numerical: fig, ax = plt.subplots(1, 2, figsize=(10,4)) sns.histplot(data=df, x=col, ax=ax[0]) sns.boxplot(data=df, x=col, ax=ax[1]); 技巧2: plt.subplot()另一种可视化多个图形的方法是使用 plt.subplot(), 末尾没有 s
语法与之前略有不同:
plt.figure(figsize=(10,4)) ax1 = plt.subplot(1,2,1) sns.histplot(data=df, x='tip', ax=ax1) ax2 = plt.subplot(1,2,2) sns.boxplot(data=df, x='tip', ax=ax2);
当我们想为多个图绘制相同类型的图形并在单个图中查看所有图形,该方法特别有用:
plt.figure(figsize=(14,4)) for i, col in enumerate(numerical): ax = plt.subplot(1, len(numerical), i+1) sns.boxplot(data=df, x=col, ax=ax)
我们同样能定制子图形。例如加个 title
plt.figure(figsize=(14,4)) for i, col in enumerate(numerical): ax = plt.subplot(1, len(numerical), i+1) sns.boxplot(data=df, x=col, ax=ax) ax.set\_title(f"Boxplot of {col}")
通过下面的比较,我们能更好的理解它们的相似处与不同处熟悉这两种方法很有用,因为它们可以在不同情况下派上用场。
技巧3: plt.tight_layout()在绘制多个图形时,经常会看到一些子图的标签在它们的相邻子图上重叠,
如下所示:
categorical = df.select\_dtypes('category').columnsplt.figure(figsize=(8, 8)) for i, col in enumerate(categorical): ax = plt.subplot(2, 2, i+1) sns.countplot(data=df, x=col, ax=ax)
顶部两个图表的 x 轴上的变量名称被剪掉,右侧图的 y 轴标签与左侧子图重叠.使用 plt.tight_layout 很方便
plt.figure(figsize=(8, 8)) for i, col in enumerate(categorical): ax = plt.subplot(2, 2, i+1) sns.countplot(data=df, x=col, ax=ax) plt.tight\_layout()
专业 看起来更好了。
技巧4: plt.suptitle()真个图形添加标题:
plt.figure(figsize=(8, 8)) for i, col in enumerate(categorical): ax = plt.subplot(2, 2, i+1) sns.countplot(data=df, x=col, ax=ax) plt.suptitle('Category counts for all categorical variables') plt.tight\_layout()此外,您可以根据自己的喜好自定义各个图。 例如,您仍然可以为每个子图添加标题。
到此这篇关于python绘图 四个绘图技巧的文章就介绍到这了,希望大家以后多多支持!
绛旓細渚濊禆浜嶱yMySQL锛屾墍浠ラ渶瑕佸畨瑁呭畠銆俻andas鎶妔ql浣滀负杈撳叆鐨勬椂鍊欙紝闇瑕佸埗瀹氫袱涓弬鏁帮紝绗竴涓槸sql璇彞锛岀浜屼釜鏄痵ql杩炴帴瀹炰緥銆傝鍙朒TML 渚濊禆浜巐xml妯″潡锛岃瀹夎瀹冦 瀵逛簬HTTPS鐨勭綉椤碉紝渚濊禆浜嶣eautifulSoup4锛宧tml5lib妯″潡銆 璇诲彇HTML鍙細璇诲彇HTML閲岀殑琛ㄦ牸锛屼篃灏辨槸鍙鍙 鏄剧ず鐨勬槸鏃跺欐槸閫氳繃python鐨鍒楄〃灞曠ず...
绛旓細鑰Python涓撶敤鐨勭瀛﹁绠楁墿灞曞簱灏辨洿澶氫簡,渚嬪濡備笅3涓崄鍒嗙粡鍏哥殑绉戝璁$畻鎵╁睍搴:NumPy銆丼ciPy鍜宮atplotlib,瀹冧滑鍒嗗埆涓篜ython鎻愪緵浜嗗揩閫熸暟缁勫鐞嗐佹暟鍊艰繍绠椾互鍙缁樺浘鍔熻兘銆傚洜姝ython璇█鍙婂叾浼楀鐨勬墿灞曞簱鎵鏋勬垚鐨勫紑鍙戠幆澧冨崄鍒嗛傚悎宸ョ▼鎶鏈佺鐮斾汉鍛樺鐞嗗疄楠屾暟鎹佸埗浣滃浘琛,鐢氳嚦寮鍙戠瀛﹁绠楀簲鐢ㄧ▼搴忋傝璧风瀛﹁绠,棣栧厛浼氳鎻愬埌鐨...
绛旓細鑼冪綏鑻忓锛圙uidovanRossum锛夈1989骞村湥璇炶妭鏈熼棿锛屽湪闃垮鏂壒涓癸紝Guido涓轰簡鎵撳彂鍦h癁鑺傜殑鏃犺叮锛屽喅蹇冨紑鍙戜竴涓柊鐨勮剼鏈В閲婄▼搴忥紝浣滀负ABC璇█鐨勪竴绉嶇户鎵裤備箣鎵浠ラ変腑Python锛堝ぇ锜掕泧鐨勬剰鎬濓級浣滀负璇ョ紪绋嬭瑷鐨勫悕瀛楋紝鏄彇鑷嫳鍥20涓栫邯70骞翠唬棣栨挱鐨勭數瑙嗗枩鍓с婅挋鎻愶紟娲炬.鐨勯琛岄┈鎴忓洟銆嬶紙MontyPython锛噑FlyingCircus锛夈
绛旓細浼楀寮婧愮殑绉戝璁$畻杞欢鍖呴兘鎻愪緵浜Python鐨璋冪敤鎺ュ彛锛屼緥濡傝憲鍚嶇殑璁$畻鏈鸿瑙夊簱OpenCV銆佷笁缁村彲瑙嗗寲搴揤TK銆佸尰瀛﹀浘鍍忓鐞嗗簱ITK銆傝孭ython涓撶敤鐨勭瀛﹁绠楁墿灞曞簱灏辨洿澶氫簡锛屼緥濡傚涓3涓崄鍒嗙粡鍏哥殑绉戝璁$畻鎵╁睍搴擄細NumPy銆丼ciPy鍜宮atplotlib锛屽畠浠垎鍒负Python鎻愪緵浜嗗揩閫熸暟缁勫鐞嗐佹暟鍊艰繍绠椾互鍙缁樺浘鍔熻兘銆傚洜姝ython璇█鍙婂叾...
绛旓細Python鍥惧儚澶勭悊搴擄細濡侽penCV銆丳IL(Python Imaging Library)绛夛紝瀹冧滑鎻愪緵浜嗗己澶х殑鍥惧儚澶勭悊鍜缁樺浘鍔熻兘锛屽彲浠ヨ繘琛屽浘鍍忕殑鍒涘缓銆佺紪杈戙佷繚瀛樼瓑鎿嶄綔銆俆ensorFlow鍜孠eras锛氳繖鏄袱涓祦琛岀殑娣卞害瀛︿範妗嗘灦锛屽畠浠彁渚涗簡鐢ㄤ簬鐢熸垚鍥惧儚鐨勫姛鑳藉拰绠楁硶銆備綘鍙互浣跨敤棰勮缁冪殑绁炵粡缃戠粶妯″瀷锛屽GAN(鐢熸垚瀵规姉缃戠粶)鏉ョ敓鎴愯壓鏈綔鍝併佸浘鍍忎慨澶...
绛旓細鏍囧噯搴撲腑鍖呭惈浜嗗涓彲鐢ㄦ潵璋冪敤鎿嶄綔绯荤粺鍔熻兘鐨勫簱銆備緥濡傦紝閫氳繃 pywin32 杩欎釜杞欢鍖咃紝鎴戜滑鑳借闂 Windows 鐨 COM 鏈嶅姟浠ュ強鍏朵粬 Windows API;浣跨敤 IronPython锛屾垜浠兘澶熺洿鎺ヨ皟鐢 .Net Framework銆偮蜂汉宸ユ櫤鑳介鍩 浜哄伐鏅鸿兘鏄幇濡備粖闈炲父鐏殑涓涓柟鍚戯紝 Python 鍦ㄤ汉宸ユ櫤鑳介鍩熷唴鐨勬満鍣ㄥ涔犮佺缁忕綉缁溿佹繁搴﹀涔犵瓑...
绛旓細鍦ㄥ涔Python鐨鍩虹璇硶鏃讹紝骞朵笉闇瑕佸お澶氱殑鍩虹锛屽熀鏈彧瑕佺啛缁冧娇鐢ㄧ數鑴戞棩甯稿姛鑳藉苟瀵筆ython鎰熷叴瓒e氨鍙互浜嗭紝浣嗗鏋滄兂瑕佸湪浜哄伐鏅鸿兘棰嗗煙鏂瑰悜鍙戝睍鐨勮瘽锛岀嚎鎬т唬鏁般佹鐜囥佺粺璁$瓑楂樼瓑鏁板鐭ヨ瘑鍩烘湰鏄繀闇鐨勶紝鍘熷洜鍦ㄤ簬杩欎簺鐭ヨ瘑鑳藉璁╀綘鐨勯昏緫鏇村姞娓呮櫚锛屽湪缂栫▼杩囩▼涓湁鏇村己鐨勬濊矾銆傚垎浜竴涓崈閿婸ython鐨勫涔犲ぇ绾茬粰浣 绗...
绛旓細涔堬紝澶у涓轰粈涔堝紑濮嬬敤Python浜嗗憿锛烶ython杈呭姪澶勭悊excel鐨勬湁浠涔堜紭鐐瑰憿锛熼鍏堬紝鎴戜滑鍏堣璇碋xcel 涓昏浼樼偣锛1)鏁版嵁閫忚鍔熻兘锛屼竴涓暟鎹忚琛ㄦ紨鍙樺嚭10鍑犵鎶ヨ〃锛屽彧闇鍚圭伆涔嬪姏銆傛槗鐢ㄦэ紝涓涓柊鎵嬶紝鍙璁ょ湡浣跨敤鍚戝1-2灏忔椂灏卞彲浠ラ┈椹檸铏庝笂璺2)缁熻鍒嗘瀽锛屽叾瀹炲寘鍚湪鏁版嵁閫忚鍔熻兘涔嬩腑锛屼絾鏄潪甯哥嫭鐗癸紝甯哥敤鐨...
绛旓細瀹冧富瑕佸叧娉ㄥ垱鏂板瀷鐢ㄦ埛鐣岄潰寮鍙戯紝濡傦細澶氱偣瑙︽懜搴旂敤绋嬪簭銆侹ivy杩樻彁渚涗竴涓鐐硅Е鎽搁紶鏍囨ā鎷熷櫒銆傚綋鍓嶆敮鎸佺殑骞冲彴鍖呮嫭锛歀inux銆乄indows銆丮ac OS X鍜孉ndroid銆侹ivy鎷ユ湁鑳藉澶勭悊鍔ㄧ敾銆佺紦瀛樸佹墜鍔裤缁樺浘绛夊姛鑳姐傚畠杩樺唴缃澶氱敤鎴风晫闈㈡帶浠跺锛氭寜绾姐佹憚褰辨満銆佽〃鏍笺丼lider鍜屾爲褰㈡帶浠剁瓑銆Python 鐨 GUI 寮鍙戝伐鍏 FlexxFlexx...
绛旓細鎴戣繖閲屾湁鎮ㄦ兂瑕佺殑璧勬簮锛岄氳繃鐧惧害缃戠洏鍏嶈垂鍒嗕韩缁欐偍锛歨ttps://pan.baidu.com/s/13T8cXUC86cDhEGYkvFnQ7g 鎻愬彇鐮侊細1234 闅忕潃淇℃伅鎶鏈殑鍙戝睍鍜岀‖浠惰澶囨垚鏈殑闄嶄綆锛屽綋浠婄殑浜掕仈缃戝瓨鍦ㄦ捣閲忕殑鏁版嵁锛岃鎯冲揩閫熶粠杩欎簺鏁版嵁涓幏鍙栨洿澶氭湁鏁堢殑淇℃伅锛屾暟鎹彲瑙嗗寲鏄噸瑕佺殑涓鐜傚浜Python璇█鏉ヨ锛屾瘮杈冧紶缁熺殑鏁版嵁鍙鍖...