【发布时间】:2020-07-02 09:41:34
【问题描述】:
早安
我已经做了一个条形图,我希望通过鼠标事件改变图表栏中的位置。我是新手,无法让它工作,我把代码放在下面。
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
np.random.seed(12345)
df = pd.DataFrame([np.random.normal(32000,200000,3650),
np.random.normal(43000,100000,3650),
np.random.normal(43500,140000,3650),
np.random.normal(48000,70000,3650)],
index=[1992,1993,1994,1995])
df['mean']=df.mean(axis=1)
df['std']=df.std(axis=1)
fig, ax = plt.subplots()
years = df.index.values.tolist()
averages = df['mean'].values.tolist()
stds =df['std'].values.tolist()
x_pos = np.arange(len(years))
min_value = int(df.values.min())
max_value =int(df.values.max())
yaxis = np.arange(min_value,max_value, 100)
plt.bar(x_pos,averages, color='red')
ax.set_xticks(x_pos)
ax.set_xticklabels(years)
ax.set_ylabel('Values')
ax.set_title('Average values per year')
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
line = ax.axhline(y=10000,color='black')
traza=[]
def onclick(event):
if not event.inaxes:
return
traza.append('onclick '+event.ydata())
line.set_data([0,1], event.ydata())
plt.connect('button_press_event', onclick)
plt.show()
我什至无法完成 onclick 过程。你能帮帮我吗?
谢谢
【问题讨论】:
标签: python matplotlib mouseevent