【发布时间】:2020-12-26 05:39:10
【问题描述】:
我正在尝试根据 df 中的一列创建具有自定义颜色的条形图。但是我不想显示图例。一旦我尝试删除图例颜色就会恢复默认值。
这是我的代码。
b = sns.barplot(x="game_week", y="shots", data=data, hue="color")
b.tick_params(labelsize=5)
b.legend_.remove()
b.set(ylim=(0, np.nanmax(df[cols])))
有什么想法吗? sns.barplot 甚至可以吗?
【问题讨论】:
-
运行一些虚拟代码,看来我在有或没有图例的情况下得到相同的颜色?我正在运行 sns 0.9.1 和 matplotlib 3.0.3。我确实省略了
b.set()行。也许看看这有什么作用? -
没有帮助。您是从 data.frame 中获得色调还是对其进行硬编码?
-
我使用了与您完全相同的行:
b = sns.barplot(x="game_week", y="shots", data=data, hue="color")。 -
all code, replace \n:import seaborn as sns\nimport pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport matplotlib\ndata = pd.DataFrame(np.random.randint(0, 10,size=(100, 3)), columns=['game_week', 'shots', 'color'])\nb = sns.barplot(x="game_week", y="shots", data=data, hue="color")\nb.tick_params(labelsize=5)\nb.legend_.remove()\nplt.figure()\nc = sns.barplot(x="game_week", y="shots", data=数据,hue="color")\nc.tick_params(labelsize=5)\nplt.show()\nprint(sns.__version__)\nprint(matplotlib.__version__) -
在绘图前用
b.set(ylim=(0, np.nanmax(data["shots"])))运行它。我得到一个没有图例和自定义最大值的彩色条形图