我该如何获取这段代码:
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
x=[1,2,3,4,5,6,7,8,9,10]
y=[1,1,1,2,10,2,1,1,1,1]
line, = ax.plot(x, y)
ymax = max(y)
xpos = y.index(ymax)
xmax = x[xpos]
arrow = ax.annotate('local max:' + str(ymax), xy=(xmax, ymax), xytext=(xmax, ymax + 2),
arrowprops=dict(arrowstyle = '-', connectionstyle = 'arc3',facecolor='red'))
#==============================================================================
# arrow.remove()
#==============================================================================
ax.set_ylim(0,20)
plt.show()
Run Code Online (Sandbox Code Playgroud)
并创建一个圆形标记(点)而不是箭头。我想保留箭头的文字。
我需要帮助在从数据框中的交叉表创建的 pandas 中的堆积条形图的每个部分中添加总数的百分比分布(无小数)。
这是示例数据:
data = {
'Name':['Alisa','Bobby','Bobby','Alisa','Bobby','Alisa',
'Alisa','Bobby','Bobby','Alisa','Bobby','Alisa'],
'Exam':['Semester 1','Semester 1','Semester 1','Semester 1','Semester 1','Semester 1',
'Semester 2','Semester 2','Semester 2','Semester 2','Semester 2','Semester 2'],
'Subject':['Mathematics','Mathematics','English','English','Science','Science',
'Mathematics','Mathematics','English','English','Science','Science'],
'Result':['Pass','Pass','Fail','Pass','Fail','Pass','Pass','Fail','Fail','Pass','Pass','Fail']}
df = pd.DataFrame(data)
# display(df)
Name Exam Subject Result
0 Alisa Semester 1 Mathematics Pass
1 Bobby Semester 1 Mathematics Pass
2 Bobby Semester 1 English Fail
3 Alisa Semester 1 English Pass
4 Bobby Semester 1 Science Fail
5 Alisa Semester 1 Science Pass
6 Alisa Semester 2 Mathematics Pass
7 Bobby Semester …Run Code Online (Sandbox Code Playgroud) d = {'X':[1,2,3,4],'A': [50,40,20,60], '% of Total in A':[29.4,23.5,11.8,35.3] , 'B': [25,10,5,15], '% in A' :[50,25,25,25]}
df = pd.DataFrame(d)
ax = df.plot(x='X',y="A", kind="bar")
df.plot(x='X', y="B", kind="bar", ax=ax,color='C2')
X A % of Total in A B % in A
0 1 50 29.4 25 50
1 2 40 23.5 10 25
2 3 20 11.8 5 25
3 4 60 35.3 15 25
Run Code Online (Sandbox Code Playgroud)
我有上面的数据框,并且我知道如何根据两列 A 和 B 绘制堆积条形图。

如何在条形顶部添加值标签,例如对于 X=0,我想在蓝色条形上方标记 50(总数的 29.4%),在蓝色条形内的绿色条形上方标记 25(组中的 50%)酒吧。
任何帮助表示赞赏。
我需要显示条形图的百分比。但是我不知道该怎么做。
sns.set_style('whitegrid')
sns.countplot(y='type',data=df,palette='colorblind')
plt.xlabel('Count')
plt.ylabel('Type')
plt.title('Movie Type in Disney+')
plt.show()
Run Code Online (Sandbox Code Playgroud)