马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False
#%matplotlib inline
#组合图标题
plt.title('某公司2019年的销售业绩报表')
#x和y轴显示的文字
plt.xlabel('月份')
plt.ylabel('销售额')
x=np.arange(12)
y1=[5000,7000,7000,6000,6000,12000,4000,5000,5000,4000,14000,5000] #预期业绩
y2=[4139,8671,8027,7743,6219,16520,5120,6039,5521,4021,18370,6000] #实际业绩
width=0.4 #设置柱形图的宽度
plt.bar(x,y1,width=0.4,align="center",tick_label=["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"])
plt.bar(x+width,y2,width=0.4,align="center",tick_label=["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"])
x=np.array([0,1,2,3,4,5,6,7,8,9,10,11])
y=np.array([-861,1671,1027,1743,219,4520,1120,1039,521,21,4370,1000])
plt.plot(x,y,'b-',label="差距")
plt.plot(x,y,'b',label="预期业绩")
plt.plot(x,y,color='darkorange',label="实际业绩")
plt.legend()
plt.plot(x,y)
plt.show()
要将Matplotlib中左上角的实线改为矩形,您可以使用`plt.Rectangle()`函数来绘制矩形。
以下是修改代码的示例:
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False
# 组合图标题
plt.title('某公司2019年的销售业绩报表')
# x和y轴显示的文字
plt.xlabel('月份')
plt.ylabel('销售额')
x = np.arange(12)
y1 = [5000, 7000, 7000, 6000, 6000, 12000, 4000, 5000, 5000, 4000, 14000, 5000] # 预期业绩
y2 = [4139, 8671, 8027, 7743, 6219, 16520, 5120, 6039, 5521, 4021, 18370, 6000] # 实际业绩
width = 0.4 # 设置柱形图的宽度
# 绘制柱形图
plt.bar(x, y1, width=0.4, align="center", tick_label=["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"])
plt.bar(x + width, y2, width=0.4, align="center", tick_label=["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"])
# 绘制矩形
rect = plt.Rectangle((0, max(max(y1), max(y2))), width=len(x) + width, height=min(min(y1), min(y2)), alpha=0.3, facecolor='gray')
plt.gca().add_patch(rect)
# 绘制其他曲线并设置图例
x = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
y = np.array([-861, 1671, 1027, 1743, 219, 4520, 1120, 1039, 521, 21, 4370, 1000])
plt.plot(x, y, 'b-', label="差距")
plt.plot(x, y1, 'b', label="预期业绩")
plt.plot(x, y2, color='darkorange', label="实际业绩")
plt.legend()
# 显示图形
plt.show()
以上修改后的代码将在左上角以矩形的形式显示实线,用灰色填充。
求最佳答案
|