簡體   English   中英

seaborn plot 上的彩色水平條基於 y 軸與 seaborn/matplotlib

[英]Colour horizontal bars on a seaborn plot based on the y-axis with seaborn/matplotlib

所以在任何人說之前,我並不是要創建一個單杠 plot。 我正在嘗試制作一個散點圖,根據 y 值對不同的圖進行分類。

所以這是我當前的代碼:

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import datetime
import random

f = []

for i in range(10):
    f.append(random.randint(60,80))

df = pd.DataFrame({
"Weight": f, "Dates": ["01/12/20", "05/11/20", "12/02/20", "18/09/20", "22/04/20", "19/01/20", "18/02/20", "02/01/20", "28/11/20", "26/03/20"]
}, columns=["Weight", "Dates"])

df["Dates"] = pd.to_datetime(df["Dates"])

df.sort_values(by="Dates", inplace=True, ascending=True)

sns.set_theme(style="dark")

dates = [datetime.datetime.date(x) for x in df["Dates"]]

graph = sns.stripplot(data=df, x=dates, y="Weight")
graph.set_xticklabels(graph.get_xticklabels(), rotation=45)

plt.show()

所以這是當前的 output:

但我希望能夠添加一些條形圖,這樣我就可以對數據進行分類(對不起,我畫得不好):

之后我還想看點,但我不在乎它們是什么顏色。

我不知道這是否可能,但謝謝!

編輯: tmdavidson 在評論中回答。

我會推薦為此目的而制作的axhspan

bands = [77.5,72.5,67.5,60]
colors = plt.cm.get_cmap('tab10')(range(len(limits)))
for y1,y2,c in zip(bands[0:], bands[1:], colors):
    graph.axhspan(ymin=y1, ymax=y2, color=c, zorder=0, alpha=0.5)

在此處輸入圖像描述

暫無
暫無

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

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