5 python matplotlib bar-chart plot-annotations
我正在创建一个像这样的条形图:
gender = ['M', 'F']
numbers = [males,females]
bars = plt.bar(gender, numbers, width=0.1, bottom=None, align='center', data=None)
for i in range(len(numbers)):
plt.annotate(str(numbers[i]), xy=(gender[i],numbers[i]))
plt.show()
Run Code Online (Sandbox Code Playgroud)
我想用来plt.annotate在栏的顶部写下确切的值。但是,该值打印在右侧。可以把它移到中心吗?
matplotlib 3.4.2,使用matplotlib.pyplot.bar_label。
gender = ['M', 'F']
numbers = [1644, 1771]
plt.figure(figsize=(12, 6))
p = plt.bar(gender, numbers, width=0.1, bottom=None, align='center', data=None)
plt.bar_label(p)
plt.show()
Run Code Online (Sandbox Code Playgroud)
pandas.DataFrame.plotdf = pd.DataFrame({'value': numbers, 'gender': gender})
ax = df.plot(x='gender', kind='bar', figsize=(12, 6), rot=0, legend=False, align='center', width=0.1)
ax.bar_label(ax.containers[0])
plt.show()
Run Code Online (Sandbox Code Playgroud)
ha参数
f'{value}\n'字符串和未修改的value(或numbers)作为 y 位置,以及va='center'。plt.text. 或者,plt.annotation接受以“点”或“像素”为单位的偏移量。lists价值观和类别import matplotlib.pyplot as plt
gender = ['M', 'F']
numbers = [1644, 1771]
plt.figure(figsize=(12, 6))
bars = plt.bar(gender, numbers, width=0.1, bottom=None, align='center', data=None)
for i in range(len(numbers)):
plt.annotate(f'{numbers[i]}\n', xy=(gender[i], numbers[i]), ha='center', va='center')
Run Code Online (Sandbox Code Playgroud)
pandas.DataFramepandas.DataFrame.iterrows提取注释所需的位置
x和位置。yx是分类'gender'值y是数字'value'import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({'value': [1771, 1644], 'gender': ['F', 'M']})
plt.figure(figsize=(12, 6))
bars = plt.bar(df.gender, df.value, width=0.1, bottom=None, align='center', data=None)
for idx, (value, gender) in df.iterrows():
plt.annotate(f'{value}\n', xy=(gender, value), ha='center', va='center')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3852 次 |
| 最近记录: |