Python使用matplotlib可视化模拟商场促销价格关系折线图
可视化模拟商场促销价格关系折线图
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可视化模拟商场促销价格关系折线图相关推荐
- Python使用matplotlib可视化两个时间序列的交叉相关性图、交叉相关图显示了两个时间序列之间的滞后性(Cross Correlation plot)
Python使用matplotlib可视化两个时间序列的交叉相关性图.交叉相关图显示了两个时间序列之间的滞后性(Cross Correlation plot) 目录
- Python使用matplotlib可视化多个不同颜色的折线图、通过FontProperties为可视化图像配置中文字体可视化、并指定字体大小
Python使用matplotlib可视化多个不同颜色的折线图.通过FontProperties为可视化图像配置中文字体可视化.并指定字体大小 目录
- Python使用matplotlib可视化气泡图、并使用encircle函数自定义多边形圈定可视化图像中的指定区域(Bubble plot with Encircling)
Python使用matplotlib可视化气泡图.并使用encircle函数自定义多边形圈定可视化图像中的指定区域(Bubble plot with Encircling) 目录
- Python使用matplotlib可视化散点图、使用seaborn中的lmplot函数可视化不同分组散点图的最优线性回归拟合曲线(Scatter plot with regression line)
Python使用matplotlib可视化散点图.使用seaborn中的lmplot函数可视化不同分组散点图的最优线性回归拟合曲线(Scatter plot with linear regressio ...
- Python使用matplotlib可视化散点图、使用seaborn中的lmplot函数使用多子图可视化不同分组的散点图最优拟合线性回归曲线
Python使用matplotlib可视化散点图.使用seaborn中的lmplot函数使用多子图可视化不同分组的散点图最优拟合线性回归曲线(Each regression line in its o ...
- Python使用matplotlib可视化散点图、并在可视化图像的底部和右边添加边缘直方图、自定义边缘直方图的色彩(Marginal Histogram)
Python使用matplotlib可视化散点图.并在可视化图像的底部和右边添加边缘直方图.自定义边缘直方图的色彩(Marginal Histogram) 目录
- Python使用matplotlib可视化相关性分析热力图图heatmap、使用seaborn中的heatmap函数可视化相关性热力图(Correllogram)
Python使用matplotlib可视化相关性分析热力图图heatmap.使用seaborn中的heatmap函数可视化相关性热力图(Correllogram) 目录
- Python使用matplotlib可视化发散棒棒糖图、发散棒棒糖图可以同时处理负值和正值、并按照大小排序区分数据、为发散棒棒糖图的特定数据点添加标签、自定义背景填充色、自定义数据点颜色
Python使用matplotlib可视化发散棒棒糖图.发散棒棒糖图可以同时处理负值和正值.并按照大小排序区分数据.为发散棒棒糖图的特定数据点添加标签.自定义背景填充色.自定义数据点颜色(Diverg ...
- python使用matplotlib可视化、自定义Y轴轴标签刻度旋转的角度(customize degree rotating axis tick labels in matplotlib)
python使用matplotlib可视化.自定义Y轴轴标签刻度旋转的角度(customize degree rotating axis tick labels in matplotlib y aix ...
- Python使用matplotlib可视化箱图、seaborn中的boxplot函数可视化分组箱图、在箱图中添加抖动数据点(Dot + Box Plot)
Python使用matplotlib可视化箱图.seaborn中的boxplot函数可视化分组箱图.在箱图中添加抖动数据点(Dot + Box Plot) 目录
最新文章
- C指针原理(2)-ATT汇编
- web前端技术分享:es6展开运算符概念和使用!
- WCF三种通信模式(转)
- video4linux(v4l)使用摄像头的实例基础教程与体会
- 使用Maven构建Struts2项目
- C++基本数据类型列表
- GoogleAdSense高价关键字排行榜
- Windows下secureCRT、putty使用秘钥登录Linux
- 一些Gym三星单刷的比赛总结
- Adobe Flash Player不是最新版本的解决方法
- 免费https ssl证书freessl.org的申请及配置
- 红色警戒2修改器原理百科(八)
- 关于AndroidStudio3.0以上(3.2bate)创建.9patch图片出错的问题
- H3C光模块相关命令和检测方法
- 数据结构与算法笔记:计算思维之经典农夫过河问题C++实现
- 2018最新安卓面试大全(含BAT,网易,滴滴)----你面不上BAT的原因:面经宝典,都在这里啦
- 购买php,购买 · 【正版】PHP小程序拼团 · 看云
- 区块链的数据结构(一)——区块、链
- c语言之switch语句的用法及注意事项
- C语言练习题,short int型的变量计算两个7位十进制整数的和
热门文章
- 判断字符串是否是有效的手机号码
- 20.合并两个有序链表
- 给chrome手动安装github上插件
- 计算机视觉SLAM方向顶会
- 上网时间监控软件_网管软件有哪一些?哪家好?
- pandas 调用mysql函数_pandas的连接函数concat()函数的具体使用方法
- vue实现卡片式上下滑动_小卡片左右滑动的实现
- html 的scor属性,HTML DOM scrollTop 属性
- matlab标签背景透明,ROI透明背景(matlab)
- xmlObj转为数组