你好,朋友们我正在使用seaborn或matplotlib创建条形图。我成功地绘制了图形,但是我不知道如何在绘图上显示y条形值。请给我建议和不同的技巧,以在绘图上显示y-bar值。
请帮助我解决问题
谢谢
plt.figure(figsize = (10,5))
sns.countplot(x='subject',data=udemy,hue='is_paid')
答案 0 :(得分:0)
不幸的是,seaborn中的计数图不允许同时传递x和y值,每个图只能传递一个。
您尝试过其他图表吗? 例如plt.bar()并将xticks和yticks设置为所需的值?
答案 1 :(得分:0)
简短回答:您需要自定义的自动标签机制。
首先让我们说清楚。如果你的意思是
<块引用>我不知道如何在图上显示 y 条值
在条形(内部),那么这个 answer 会很有帮助。
那个在条形顶部(外部),除了seaborn的这个答案,还有一些自动标签解决方案here你也可以使用它如this example。最近,如果您安装新的 matpotlib v. # -*- coding: utf-8 -*-
"""
Created on Mon Jun 14 11:41:52 2021
@author: Graven
"""
import pygame as pg
# définir la classe qui gère le projectile de notre joueur
class Projectile(pg.sprite.Sprite):
#définir le constructeur
def __init__(self, player):
super().__init__()
self.velocity = 5
self.player = player
self.image = pg.image.load('assets/projectile.png')
self.rect = self.image.get_rect()
self.damage = int(self.player.attack * min(self.player.chargeState, self.player.max_charge)**1.1)
self.image = pg.transform.scale(self.image, (self.damage, self.damage))
self.rect.x = player.rect.x + 95
self.rect.y = player.rect.y + 115 - self.damage/2
self.origin_image = self.image
self.angle = 0
def rotate(self):
# Tourner le projectile
self.angle += 2
self.image = pg.transform.rotozoom(self.origin_image, self.angle, 1)
self.rect = self.image.get_rect(center = self.rect.center)
def remove(self):
self.player.all_projectile.remove(self)
def move(self):
self.rect.x += self.velocity
# self.rotate()
# centre_proj = self.rect.center
# print('centre_proj',centre_proj)
# Vérifier su le projectile entre en collision avec un monstre
for monstre_rencontre in self.player.game.check_collision(self, self.player.game.all_monsters):
# Attribuer les dégats
monstre_rencontre.damage(self.damage)
#supprimer le projectile
self.remove()
# Vérifier si le projectie n'est plus présent sur l'écran
if self.rect.x > 1080:
# Supprimer le projectile
self.remove()
,您可以使用 3.4.0
Ref.。
我还可以向您提供受此 matplotlib documenetation 启发的方法,使用函数形式的 bar_label()
手动调整以最适合在条形图中的条形上打印值/文本:
matplotlib
输出: