ax = gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data', 0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data', 0))
首先,我们需要根据数据创建一个pandas的dataframe,然后使用Matplotlib中的plot函数绘制图表。
假设我们有一个名为data的DataFrame,其中包含两列,第一列是x轴数据,第二列是y轴数据,请按照以下步骤绘制图表并在y=500处显示最大值:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.DataFrame({'x': [1, 2, 3, 4, 5], 'y': [300, 450, 500, 400, 350]})
# 绘制线图
plt.plot(data['x'], data['y'])
# 设置x、y轴标签
plt.xlabel('x')
plt.ylabel('y')
# 设置标题
plt.title('Plot of y vs x')
# 设置x轴刻度
plt.xticks(range(1, 6))
# 设置y轴刻度
plt.yticks(range(0, 600, 100))
# 找到y=500处的最大值
max_y = data[data['y'] == 500]['y'].max()
# 绘制水平线
plt.axhline(max_y, color='r', linestyle='--')
# 添加标签
plt.text(2.5, max_y + 10, f'Max value: {max_y}', ha='center')
plt.show()
完整代码如下:
import pandas as pd
import matplotlib.pyplot as plt
# 创建DataFrame
data = pd.DataFrame({'x': [1, 2, 3, 4, 5], 'y': [300, 450, 500, 400, 350]})
# 绘制线图
plt.plot(data['x'], data['y'])
# 设置x、y轴标签
plt.xlabel('x')
plt.ylabel('y')
# 设置标题
plt.title('Plot of y vs x')
# 设置x轴刻度
plt.xticks(range(1, 6))
# 设置y轴刻度
plt.yticks(range(0, 600, 100))
# 找到y=500处的最大值
max_y = data[data['y'] == 500]['y'].max()
# 绘制水平线
plt.axhline(max_y, color='r', linestyle='--')
# 添加标签
plt.text(2.5, max_y + 10, f'Max value: {max_y}', ha='center')
# 显示图表
plt.show()
运行结果如下: