马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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()
复制代码
以上修改后的代码将在左上角以矩形的形式显示实线,用灰色填充。
求最佳答案
|