簡體   English   中英

帶有第二個 y 軸的 Seaborn 圖

[英]Seaborn plot with second y axis

我想知道如何用兩個 y 軸繪制一個圖,以便我的圖看起來像這樣: 在此處輸入圖片說明

通過添加另一個 y 軸來實現更像這樣的東西: 在此處輸入圖片說明

我只使用我的情節中的這行代碼,以便從我的數據框中獲取前 10 個 EngineVersions:

sns.countplot(x='EngineVersion', data=train, order=train.EngineVersion.value_counts().iloc[:10].index);

我想知道如何繪制兩個Y軸的圖,這樣我的圖看起來像這樣: 在此處輸入圖片說明

通過添加另一個y軸,可以更像這樣: 在此處輸入圖片說明

我只是從我的情節中使用這一行代碼,以便從我的數據框中獲取前10個EngineVersions:

sns.countplot(x='EngineVersion', data=train, order=train.EngineVersion.value_counts().iloc[:10].index);

我想知道如何繪制兩個Y軸的圖,這樣我的圖看起來像這樣: 在此處輸入圖片說明

通過添加另一個y軸,可以更像這樣: 在此處輸入圖片說明

我只是從我的情節中使用這一行代碼,以便從我的數據框中獲取前10個EngineVersions:

sns.countplot(x='EngineVersion', data=train, order=train.EngineVersion.value_counts().iloc[:10].index);

您可以嘗試使用此代碼來獲得與您最初想要的非常相似的圖像。

import seaborn as sb
from matplotlib.lines import Line2D
from matplotlib.patches import Rectangle

x = ['1.1','1.2','1.2.1','2.0','2.1(beta)']
y = [1000,2000,500,8000,3000]
y1 = [3,4,1,8,5]
g = sb.barplot(x=x, y=y, color='blue')
g2 = sb.lineplot(x=range(len(x)), y=y1, color='orange', marker='o', ax=g.axes.twinx())
g.set_xticklabels(g.get_xticklabels(), rotation=-30)
g.set_xlabel('EngineVersion')
g.set_ylabel('Counts')
g2.set_ylabel('Detections rate')
g.legend(handles=[Rectangle((0,0), 0, 0, color='blue', label='Nontouch device counts'), Line2D([], [], marker='o', color='orange', label='Detections rate for nontouch devices')], loc=(1.1,0.8))

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM