使用matplotlib、和pyechars作图

熟练的使用matplotilb,pyechars对我们的业务需求做图,理解里面都参数,

懂得如何设计一个图的内部装饰

.懂得数据系列的一些重要参数

折线图

import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
month=list(range(1,9))
m=[0,3,6,7,3,3,5,2]
plt.plot(month,m,'r-.*')#x轴month,y轴m,'r-.o'表示虚线,可以更改为实线,'r-0',0可以改变'*'
plt.show()
plt.xlabel('月份',fontproperties='simhei',fontsize=14)#设置x轴,标题,字体,字号
plt.ylabel('营业额(万元)',fontproperties='simhei',fontsize=14)
plt.title('烧烤店营业数据',fontproperties='simhei',fontsize=14)

import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
base_price,sale_price=49,75
def compute(num):
return sale_price*(1-0.01*num)
numbers=list(range(1,31))#购买数量
earns=[]#盈利
total_consum=[]#消费总金额
saves=[]#节省金额
for num in numbers:perPrice=compute(num)earns.append(round(num*(perPrice-base_price),2))total_consum.append(round(num*perPrice,2))saves.append(round(num*(sale_price-perPrice),2))
plt.plot(numbers, earns,label='商家盈利')
plt.plot(numbers,total_consum,label='顾客总消费额')
plt.plot(numbers,saves,label='顾客节省')
plt.xlabel('顾客购买数量', fontproperties='simhei')
plt.ylabel('金额', fontproperties='simhei')
plt.title('数量金额关系图', fontproperties='stkaiti',fontsize=20)
#导入自己定字体
myfont=fm.FontProperties(fname=r'C:/Windows/Fonts/simfang.ttf',size=12)
plt.legend(prop=myfont)#设置图例字体
#对特殊点进行显示
maxEarn=max(earns)
bestNumbe=numbers[earns.index(maxEarn)]#计算出earns最大值在earns中的位置然后这个位置与numbers那个位置对应
plt.scatter([bestNumbe],[maxEarn] , marker='*',color='red',s=120)
plt.text(14,int(maxEarn)-150,'('+str(bestNumbe)+','+str(maxEarn)+')',fontsize=20)#text设置文本函数,设定在图中的位置x,y设置文本内容string
plt.annotate(xy=(bestNumbe,maxEarn+50), #箭头终点xytext=(bestNumbe-1,maxEarn+300),#箭头起点s='盈利最高点',#显示的文本fontproperties='KaiTi',fontsize=14,arrowprops=dict(arrowstyle='->'))#箭头样式
plt.show()

柱状图

import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
month=list(range(1,9))
m=[0,3,6,7,3,3,5,2]plt.bar(month,m,color='b')
plt.xlabel('月份', fontproperties='simhei')
plt.ylabel('营业额', fontproperties='simhei')
plt.title('烧烤店营业额', fontproperties='simhei',fontsize=14)
#xticks对x轴设置
plt.xticks(month,list(map(lambda x:str(x)+'月',month)),fontproperties='simhei')#x轴对应的数据list(map(lambda x:str(x)+'月',month))
#依次对每个柱显示其有y值
for x, y in zip(month,m):plt.text(x-0.2,y+0.4,'%.1f'%y)

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
data = pd.DataFrame({'月份': [1,2,3,4,5,6,7,8,9,10,11,12],'男装': [51,32,58,57,30,46,38,38,40,53,58,50],'女装': [70,30,48,73,82,80,43,25,30,49,79,60],'餐饮': [60,40,46,50,57,76,70,33,70,61,49,45],'化妆品': [110,75,130,80,83,95,87,89,96,88,86,89],'金银首饰': [143,100,89,90,78,129,100,97,108,152,96,87]})
data.plot(x='月份',kind='bar')
plt.xlabel('月份',fontproperties='simhei')
plt.xticks(list(range(len(data))),fontproperties='simhei',rotation=0)#文本旋转角度
plt.ylabel('营业额(万元)',fontproperties='KaiTi')
myfont=fm.FontProperties(fname=r'C:/Windows/Fonts/simfang.ttf',size=12)
plt.legend(prop=myfont)
plt.style.use('classic')#设置背景样式
#print(plt.style.available)#查看背景样式种类
#plt.savefig()
plt.show()

环饼图

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']='simhei'
dining=['餐厅1','餐厅2','餐厅3','餐厅4','餐厅5','餐厅6','餐厅7']
times=[8,6,25,13,15,24,14]
explode=[0,0,0,0,0.1,0.2,0.3]
plt.pie(times,labels=dining,#设置扇形文本标签autopct='%1.1f%%',#设置数值作为显示的格式pctdistance=0.8,#设置数值离圆心距离radius=1,#设置半径explode=explode,#设置偏离程度wedgeprops={'width':0.4,'linewidth':1,'edgecolor':'w'})#设置饼图内外边界属性值
plt.title('我的吃饭', fontproperties='simhei',fontsize=14)
plt.show()

看板饼图

import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['simhei']
scores = {'数据结构':[89,70,49,87,92,84,73,71,78,81,90,37,77,82,81,79,80,82,75,90,54,80,70,68,61],'线性代数':[70,74,80,60,50,87,68,77,95,80,79,74,69,64,82,81,78,90,78,79,72,69,45,70,70],'英语':[83,87,69,55,80,89,96,81,83,90,54,70,79,66,85,82,88,76,60,80,75,83,75,70,20],'Python':[10,60,82,7,8,92,85,87,9,71,45,50,10,81,7,9,8,70,68,65,85,89,80,2,75]}
df=pd.DataFrame(scores)
labels=['不及格','优秀','及格']
category=[0,60,80,101]
for col in df.columns:df[col+'_']=pd.cut(df[col],bins=category,labels=labels,right=False)
df_=df[['数据结构_', '线性代数_', '英语_', 'Python_']].apply(pd.value_counts)
#创建子图
fig ,axs=plt.subplots(2,2)#看板是几行及列
axs.shape=4#4个子图
for index,col in enumerate(df_.columns):
plt.sca(axs[index])#选择子图
plt.pie(df_[col],labels=df_.index,autopct='%1.1f%%')
plt.xlabel(col[0:-1])
plt.legend(loc=0,fontsize=6)
plt.gca().set_aspect('equal')#设置纵横比
plt.show()

雷达图

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
course=['python','微积分','线性代数','概率统计','微观经济学','宏观经济学','运筹学']
scores=[60,60,70,60,70,75,62]
datalength=len(scores)
#把圆周分为datalength份
angles=np.linspace(0,#数组第一个数据2*np.pi,#最后一个数据datalength,#数组数量endpoint=False)#是否包含终点
#闭合
scores.append(scores[0])
course.append(course[0])
angles=np.append(angles,angles[0])
#绘制雷达图
plt.polar(angles,scores,'rv--',linewidth=2)
plt.fill(angles,scores,facecolor='y',alpha=0.5)#alpath透明度#填充内部
plt.thetagrids(angles*180/np.pi,course,fontproperties='simhei')#设置网格标签
plt.title('我的成绩雷达图',fontproperties='simhei',fontsize=6)
#plt.savefig(r'D:/数据可视化/雷达图',)
plt.show()

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
course=['python','English','线性代数','概率统计','微观经济学','宏观经济学','运筹学']
scores=[60,60,70,60,70,75,62]
ax=plt.subplot(111,projection='polar')#生成一个一行一列共图
ax.set_theta_direction(-1)#逆时针
ax.set_theta_zero_location('N')#正上方0度
length=len(scores)
angles=np.linspace(0,2*np.pi,length,endpoint=False)
ax.bar(angles,scores,width=0.5,color=np.random.random((length,3)),align='edge')
for angle,score in zip(angles,scores):ax.text(angle+0.2,score,str(score),color='r')
myfont=fm.FontProperties(fname=r'C:/Windows/Fonts/simfang.ttf',size=12)
plt.thetagrids(angles*180/np.pi,course,fontproperties='KaiTi')
plt.title('我的成绩雷达图',fontproperties='simhei',fontsize=6)
plt.ylim(0,100)
plt.show()

双y轴图

import matplotlib.pyplot as plt
import matplotlib.ticker as mtick
import matplotlib.font_manager as FontProperties
import numpy as np
num=np.random.randint(1,100,13)
price=np.random.randint(100,600,13)
l=range(1,14)
plt.rcParams['font.sans-serif']=['Kaiti']
ticks_x = ['东城','丰台','亦庄','大兴','房山','昌平','朝阳','海淀','石景山','西城','通州','门头沟','顺义']
fig=plt.figure()
#折线图
ax1=fig.add_subplot(111)
ax1.plot(l,price,'r-.o',label='价格')
#for i,(_x,_y) in enumerate(zip(l,price)):
for x,y in zip(l,price):plt.text(x-0.2,y,str(y),color='black',fontsize=10)
ax1.set_ylim(0,600)
ax1.set_ylabel('价格')
plt.legend(prop={'family':'Simhei','size':8},loc='upper left')

pyecharts部分

from pyecharts.charts import Bar
from pyecharts import options as opts
citys = ['贵阳市', '六盘水市', '安顺市', '毕节市', '黔西南', '遵义市', '黔南', '黔东南']
data1 = [123, 153, 89, 107, 98, 23, 23, 87]   #人均羊只
data2 = [56, 77, 93, 68, 45, 67, 43, 98]      #GDP
data3 = [23, 3, 12, 32, 34, 22, 12, 23]       #家庭收入
bar=(Bar().add_xaxis(citys).add_yaxis('人均羊只',data1).add_yaxis('人均gdp',data2).add_yaxis('家庭收入',data3).set_global_opts(title_opts=opts.TitleOpts(title='a贵州省各市某些数据'),subtitle='--2020').set_series_opts(#是否显示标签label_opts = opts.LabelOpts(is_show = True),markpoint_opts = opts.MarkPointOpts(data = [opts.MarkPointItem(type_ = "max",name = "最大"),opts.MarkPointItem(type_ = "min",name markline_opts = opts.MarkLineOpts(data = [opts.MarkLineItem(type_ = "average",name = "均值")])))
bar.render(r'D:/数据可视化/1.html')

from pyecharts.charts import Line
from pyecharts import options as opts
cate = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu']
data1 = [123, 153, 89, 107, 98, 23]   #电商渠道
data2 = [56, 77, 93, 68, 45, 67]      #门店line=(Line().add_xaxis(cate).add_yaxis('电商渠道',data1,markline_opts=opts.MarkLineOpts(data=[opts.MarkPointItem(type_ = "average")])).add_yaxis('门店', data2, is_smooth=True, #平滑的markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(name="注意这个点",                                                                             coord=[cate[4],data2[4]],                                                                            value=data2[4])])
).set_global_opts(title_opts=opts.TitleOpts(title='手机销售'),subtitle='--2020')

Matploblib与Pyechars应用相关推荐

  1. python【Matlibplot绘图库】-认识Matploblib

    文章目录 1.Figure 2.Axes 3.Multiple Axes 4. Axes Vs .pyplot 1.Figure 在任何绘图之前,我们需要一个Figure对象,可以理解成我们需要一张画 ...

  2. Matploblib work5

    作业 1)查阅matplotlib官网,列举出Sequential,Diverging,Cyclic,Qualitative,Miscellaneous分别有哪些内置的colormap,并以代码绘图的 ...

  3. 可视化——matploblib 解决中文显示的问题

    (1)导入相关包 from matplotlib import mpl import matplotlib.pyplot as plt (2)指定字体 mpl.rcParams['font.sans- ...

  4. python收益风险点图_使用python matploblib库绘制准确率,损失率折线图

    我就废话不多说了,大家还是直接看代码吧~ import matplotlib.pyplot as plt epochs = [0,1,2,3] acc = [4,8,6,5] loss = [3,2, ...

  5. python用matploblib库画准确率、损失率折线图

    import matplotlib.pyplot as pltepochs = [0,1,2,3] acc = [4,8,6,5] loss = [3,2,1,4]plt.plot(epochs,ac ...

  6. pyechars切片器

    pyecharts切片器是什么? Pyecharts是一个开源的图表库,它可以帮助用户创建交互式的图表.切片器是其中的一个功能,用于对数据进行切片和筛选,以便仅显示您感兴趣的数据部分.使用切片器可以使 ...

  7. pyechars切片器如何实现

    Pyecharts是一个开源的可视化图表库,其中的切片器功能可以帮助用户对数据进行选择性显示. 实现切片器功能的具体方法如下: 在图表中添加切片器组件:首先,需要在图表对象中添加切片器组件,如: fr ...

  8. Matplotlib基本用法

    Matplotlib Matplotlib 是Python中类似 MATLAB 的绘图工具,熟悉 MATLAB 也可以很快的上手 Matplotlib. 1. 认识Matploblib 1.1 Fig ...

  9. # 小猪的Python学习之旅 —— 17.Python数据分析:我主良缘交友了解下

    一句话概括本文: 爬取我主良缘交友所有的妹子信息,利用Jupyter Notebook对五个方面: 身高,学历,年龄,城市和交友宣言进行分析,并把分析结果通过pyecharts 进行数据可视化. 引言 ...

最新文章

  1. Java-String类型的参数传递问题
  2. 【机器视觉学习笔记】双边滤波算法(C++)
  3. jupyter下Tensorflow-ssd测试整体流程,以及问题no module name**的解决
  4. html 放上去动画停止,使用jQuery的animate()+CSS样式实现动画效果及stop()停止动画
  5. 拓端tecdat|Python用稀疏、高斯随机投影和主成分分析PCA对MNIST手写数字数据进行降维可视化
  6. 区块链之门 | Reach on Conflux 2021 黑客松开赛
  7. HG8120C 端口映射 配置家用服务器
  8. 微信小程序如何被微信搜索收录?开启页面收录功能,被评定为达标
  9. 工程、通信中的3dB带宽含义
  10. 在SQL中创建时间维度表
  11. 重看经典动漫《火影忍者》的一些感受
  12. 0基础学3dmax建模难吗?
  13. 精心收集的几十个ASP编程网址
  14. 打造急速开发框架FastApp
  15. linux服务器经常断网,linux-使用screen,防止断网导致异常退出
  16. 【笔记/后端】谷粒商城基础篇
  17. 2020 2019年 计算机 408 考研 真题 详细 解答
  18. 北外《战略管理》知识点分解
  19. AutoSAR技术手册
  20. springBoot实体类无法构造

热门文章

  1. 控制手机屏幕只能横向 根据手机中心翻转
  2. emoji表情字符(emoji-java)
  3. 飞飞CMS仿优酷网站模板V1.6版
  4. Nginx 502 Bad Gateway的处理
  5. sql删除主键并添加主键
  6. 安卓miracast花屏_Miracast无线投屏技术优缺点有哪些?
  7. 3岁宝宝记忆力测试软件,三岁小孩记忆力惊人,做好这些你家娃也可以拥有“最强大脑”!...
  8. 【ZBrush教程】如何自定义笔刷快捷栏
  9. MFC 实现检测ppt是否正在播放
  10. java养成类黄油_最近在家闲来无事,有没有什么养成类黄油?