簡體   English   中英

如何繪制帶有分類軸和數字(基准)軸的折線圖?

[英]How can I plot line graph with categorical and numeric (datum) axes?

Seaborn 使您能夠使用點創建分類圖

import seaborn as sns

tips = sns.load_dataste('tips')
sns.catplot(x='tip', y='sex', data=tips, jitter=False)

在此處輸入圖像描述

有沒有辦法將相同性別的點與線連接起來?

我的目標是創建一個類似於下圖的圖(在R 的 ggplot2中完成)。 閱讀seaborn 文檔后,我發現沒有任何內容與此情節相似。 線圖只接受數值。 目前是否有一種明顯的方法可以使這個分類圖成為我所缺少的?

在此處輸入圖像描述

按類別分組並單獨繪制每條線。

import numpy as np
import matplotlib.pyplot as plt

def cat_horizontal_plot(data, category, numeric, ax=None):
    ax = ax or plt.gca()
    for cat, num in data.groupby(category):
        ax.plot(np.sort(num[numeric].values), [cat]*len(num),
                marker="o", mec="k", mfc="none", linestyle="-", color="k")
    ax.set_xlabel(numeric)
    ax.set_ylabel(category)
    ax.margins(y=0.4)
    ax.figure.tight_layout()

用作

import seaborn as sns
tips = sns.load_dataset('tips')

cat_horizontal_plot(tips, "sex", "tip")
plt.show()

在此處輸入圖像描述

暫無
暫無

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

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