可视化模拟商场促销价格关系折线图

import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = 'simhei'
plt.rcParams['axes.unicode_minus']=False#进价与零售价
basePrice,salePrice = 49,75#计算购买num个商品时的单价,买的越多,单价越低
def compute(num):return salePrice * (1-0.01*num)#numbers用来存储顾客购买数量
#earns用来存储商场的盈利情况
#totalConsumption用来存储顾客消费总金额
#saves用来存储顾客节省的总金额
numbers = list(range(1,31))
earns = []
totalConsumption = []
saves = []#根据顾客购买数量计算三组数据
for num in numbers:perPrice = compute(num)earns.append(round(num*(perPrice-basePrice), 2))#round函数 返回表达式或值保留指定的小数totalConsumption.append(round(num*perPrice,2 ))saves.append(round(num*(salePrice-perPrice), 2))#绘制商家盈利和顾客节省的折线图,系统自动分配线条颜色
plt.plot(numbers,earns,label='商家盈利')
plt.plot(numbers,totalConsumption,label='顾客总消费')
plt.plot(numbers,saves,label='顾客节省')#设置图例
plt.legend()#设置坐标轴标签文本
plt.xlabel('顾客购买数量(件)')
plt.ylabel('金额(元)')
#设置图形标题
plt.title('数量-金额关系图',fontsize=20)#计算并标记商家盈利最多的批发数量
maxEarn = max(earns)
bestNumber = numbers[earns.index(maxEarn)]#index()方法用于从列表中找出这个值在列表中第一个匹配出来的索引
#散点图,在相应位置绘制一个红色五角星
plt.scatter(bestNumber,maxEarn,marker='*',color='red',s=120)
#使用annotate()函数在指定位置进行文本标注
plt.annotate(xy=(bestNumber,maxEarn),xytext=(bestNumber-1,maxEarn+200),s=str(maxEarn),arrowprops=dict(arrowstyle="<->"))
plt.show()

最后的效果图:

Python使用matplotlib可视化模拟商场促销价格关系折线图相关推荐

  1. Python使用matplotlib可视化两个时间序列的交叉相关性图、交叉相关图显示了两个时间序列之间的滞后性(Cross Correlation plot)

    Python使用matplotlib可视化两个时间序列的交叉相关性图.交叉相关图显示了两个时间序列之间的滞后性(Cross Correlation plot) 目录

  2. Python使用matplotlib可视化多个不同颜色的折线图、通过FontProperties为可视化图像配置中文字体可视化、并指定字体大小

    Python使用matplotlib可视化多个不同颜色的折线图.通过FontProperties为可视化图像配置中文字体可视化.并指定字体大小 目录

  3. Python使用matplotlib可视化气泡图、并使用encircle函数自定义多边形圈定可视化图像中的指定区域(Bubble plot with Encircling)

    Python使用matplotlib可视化气泡图.并使用encircle函数自定义多边形圈定可视化图像中的指定区域(Bubble plot with Encircling) 目录

  4. Python使用matplotlib可视化散点图、使用seaborn中的lmplot函数可视化不同分组散点图的最优线性回归拟合曲线(Scatter plot with regression line)

    Python使用matplotlib可视化散点图.使用seaborn中的lmplot函数可视化不同分组散点图的最优线性回归拟合曲线(Scatter plot with linear regressio ...

  5. Python使用matplotlib可视化散点图、使用seaborn中的lmplot函数使用多子图可视化不同分组的散点图最优拟合线性回归曲线

    Python使用matplotlib可视化散点图.使用seaborn中的lmplot函数使用多子图可视化不同分组的散点图最优拟合线性回归曲线(Each regression line in its o ...

  6. Python使用matplotlib可视化散点图、并在可视化图像的底部和右边添加边缘直方图、自定义边缘直方图的色彩(Marginal Histogram)

    Python使用matplotlib可视化散点图.并在可视化图像的底部和右边添加边缘直方图.自定义边缘直方图的色彩(Marginal Histogram) 目录

  7. Python使用matplotlib可视化相关性分析热力图图heatmap、使用seaborn中的heatmap函数可视化相关性热力图(Correllogram)

    Python使用matplotlib可视化相关性分析热力图图heatmap.使用seaborn中的heatmap函数可视化相关性热力图(Correllogram) 目录

  8. Python使用matplotlib可视化发散棒棒糖图、发散棒棒糖图可以同时处理负值和正值、并按照大小排序区分数据、为发散棒棒糖图的特定数据点添加标签、自定义背景填充色、自定义数据点颜色

    Python使用matplotlib可视化发散棒棒糖图.发散棒棒糖图可以同时处理负值和正值.并按照大小排序区分数据.为发散棒棒糖图的特定数据点添加标签.自定义背景填充色.自定义数据点颜色(Diverg ...

  9. python使用matplotlib可视化、自定义Y轴轴标签刻度旋转的角度(customize degree rotating axis tick labels in matplotlib)

    python使用matplotlib可视化.自定义Y轴轴标签刻度旋转的角度(customize degree rotating axis tick labels in matplotlib y aix ...

  10. Python使用matplotlib可视化箱图、seaborn中的boxplot函数可视化分组箱图、在箱图中添加抖动数据点(Dot + Box Plot)

    Python使用matplotlib可视化箱图.seaborn中的boxplot函数可视化分组箱图.在箱图中添加抖动数据点(Dot + Box Plot) 目录

最新文章

  1. C指针原理(2)-ATT汇编
  2. web前端技术分享:es6展开运算符概念和使用!
  3. WCF三种通信模式(转)
  4. video4linux(v4l)使用摄像头的实例基础教程与体会
  5. 使用Maven构建Struts2项目
  6. C++基本数据类型列表
  7. GoogleAdSense高价关键字排行榜
  8. Windows下secureCRT、putty使用秘钥登录Linux
  9. 一些Gym三星单刷的比赛总结
  10. Adobe Flash Player不是最新版本的解决方法
  11. 免费https ssl证书freessl.org的申请及配置
  12. 红色警戒2修改器原理百科(八)
  13. 关于AndroidStudio3.0以上(3.2bate)创建.9patch图片出错的问题
  14. H3C光模块相关命令和检测方法
  15. 数据结构与算法笔记:计算思维之经典农夫过河问题C++实现
  16. 2018最新安卓面试大全(含BAT,网易,滴滴)----你面不上BAT的原因:面经宝典,都在这里啦
  17. 购买php,购买 · 【正版】PHP小程序拼团 · 看云
  18. 区块链的数据结构(一)——区块、链
  19. c语言之switch语句的用法及注意事项
  20. C语言练习题,short int型的变量计算两个7位十进制整数的和

热门文章

  1. 判断字符串是否是有效的手机号码
  2. 20.合并两个有序链表
  3. 给chrome手动安装github上插件
  4. 计算机视觉SLAM方向顶会
  5. 上网时间监控软件_网管软件有哪一些?哪家好?
  6. pandas 调用mysql函数_pandas的连接函数concat()函数的具体使用方法
  7. vue实现卡片式上下滑动_小卡片左右滑动的实现
  8. html 的scor属性,HTML DOM scrollTop 属性
  9. matlab标签背景透明,ROI透明背景(matlab)
  10. xmlObj转为数组