最近因工作原因,使用python的绘图功能,绘制生产的直通率数据,贴上代码,便于以后需要时摘用
1.选择报表所在路径:
def ReportLocationpushButtonClick(self):
global ReportFileName
ReportFileName, ok = QFileDialog.getOpenFileName(self, “open file”, “./”, “csv file (*.csv .)”) # “/“代表当前目录的根目录
self.ReportLocationtextEdit.setText(str(ReportFileName))
ReportFileName = ReportFileName.replace(”\r”, r"\r").replace(’\n’, r’\n’)#防止转义
2.读取报表中的关键信息并绘制柱形图
def pBar(self):
data = pd.read_excel(ReportFileName, names=[‘model’, ‘PO’,“Retest”])
df1 = data.groupby(‘model’)[‘PO’].sum().to_frame().reset_index()
self.graph.axes.set_ylim(0, 1800000)
self.graph.axes.set_yticks([0,600000,1200000,1800000])
rects = self.graph.axes.bar(range(len(df1.model)), df1.PO, color=‘rgby’)
self.graph.axes.set_xticks(np.arange(len(df1.model)))
self.graph.axes.set_xticklabels(df1.model,rotation=-70,fontsize=8)
self.graph.axes.grid(True)
for rect in rects:
height = rect.get_height()
self.graph.axes.text(rect.get_x() + rect.get_width() / 2, height, str(height), ha=‘center’, va=‘bottom’, fontsize=10,
rotation=60)
3.读取报表信息并绘制饼形图
def pPie(self):
data = pd.read_excel(ReportFileName, names=[‘model’, ‘PO’, “Retest”])
df1 = data.groupby(‘model’)[‘PO’].sum().to_frame().reset_index()
explode = [x * 0.03 for x in range(len(df1.PO))]
self.graph.axes1.pie(df1.PO, explode, df1.model, autopct=’%3.1f %%’, labeldistance=1.1)
4.调用自定义绘制函数并显示在窗体中
def pushButton_MatplotlibClick(self):
self.graph = MyFigure(12,6)
self.pBar()
self.pPie()
self.widget_Matplotlib.addWidget(self.graph, 0, 0)
5.自定义MyFigure类
class MyFigure(FigureCanvas):
def init(self,width=12, height=6):
self.fig = Figure(figsize=(width, height),facecolor= ‘y’)#第一步:创建一个Figure
super(MyFigure,self).init(self.fig) #此句必不可少,否则不能显示图形
#self.axes = self.fig.add_subplot(211)#纵向显示两个图形
#self.axes1=self.fig.add_subplot(212)
self.axes = self.fig.add_subplot(121)#向显示两个图形
self.axes1=self.fig.add_subplot(122)
6.按钮链接
self.pushButton_Matplotlib.clicked.connect(self.pushButton_MatplotlibClick)

曲线图
import matplotlib.pyplot as plt
import math
import numpy as np
import pandas as pd
da
ta = pd.read_excel(r’./data/fund_data_matplotlib.csv’, names=[‘name’, ‘ID’, ‘Value’])
data.Value1=(data.Value.astype(np.int))
plt.figure(figsize=(12, 6.5),facecolor= ‘y’)#画布大小
plt.xticks(rotation=45)
plt.ylabel(“Value”) #X轴标签
plt.xlabel(“Company Name”) #X轴标签
plt.plot(data.ID, data.Value1, color=‘y’, linewidth=3)
for x, y in zip(data.ID,data.Value1):
plt.text(x, y, str(y), ha=‘center’, va=‘bottom’, fontsize=15 )
plt.savefig(‘aa.png’)
plt.grid()
plt.show()

python中绘制柱形图、饼形图等相关推荐

  1. Matplotlib使用scatter函数在Python中绘制气泡图(bubble plot)、通过size参数指定数据点的大小、自定义不同分组的气泡的色彩

    Matplotlib使用scatter函数在Python中绘制气泡图(bubble plot).通过size参数指定数据点的大小.自定义不同分组的气泡的色彩 目录

  2. Matplotlib使用scatter函数在Python中绘制气泡图(bubble plot)、通过size参数指定数据点的大小

    Matplotlib使用scatter函数在Python中绘制气泡图(bubble plot).通过size参数指定数据点的大小 目录

  3. 用python实现分段函数_在Python中绘制分段函数

    我想使用Matplotlib在 Python中绘制以下分段函数,从0到5. f(x)= 1,x!= 2; f(x)= 0,x = 2 在Python中-- def f(x): if(x == 2): ...

  4. 怎样使用python画复杂函数_在python中绘制复杂的函数?

    我试图在python中绘制一个带有可变参数的复杂函数,并且发现我无法解释的差异.我的代码如下所示:import matplotlib.pyplot as plt from numpy import p ...

  5. python基础教程:通过Turtle库在Python中绘制一个鼠年福鼠

    这篇文章主要介绍了通过Turtle库在Python中绘制一个鼠年福鼠,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 turtle库是一个很经典的绘图库,其最初来自 ...

  6. python turtle 画老鼠_通过Turtle库在Python中绘制一个鼠年福鼠

    turtle库是一个很经典的绘图库,其最初来自于1967年创造的logo编程语言,之后被Python编写放到了Python的内置模块中.网络上有很多借助于turtle绘制精美图像的案例.比如小猪佩奇. ...

  7. python中turtle画老虎_通过Turtle库在Python中绘制一个鼠年福鼠

    turtle库是一个很经典的绘图库,其最初来自于1967年创造的logo编程语言,之后被Python编写放到了Python的内置模块中.网络上有很多借助于turtle绘制精美图像的案例.比如小猪佩奇. ...

  8. python画柱状图-Python Excel 绘制柱形图

    本文主要讲述如何使用Python操作Excel绘制柱形图. 开发工具,环境 PyCharm Python3 Office Excel 前面我们已经创建好了一张Excel表. 现在我们要根据已有的数据, ...

  9. 用python绘制熊猫图案_使用熊猫在Python中绘制数据

    用python绘制熊猫图案 在关于基于Python的绘图库的系列文章中 ,我们将对使用pandas(一种非常流行的Python数据操作库)的绘图进行概念性的研究. Pandas是Python中用于可缩 ...

最新文章

  1. Science:亚硝酸盐氧化细菌在黑暗海洋中的主要作用
  2. 在Linux虚拟机中添加多个ip地址
  3. UVA - 11572
  4. Spring手动回滚事务
  5. npm命令,开发依赖,版本号【正解】
  6. spring boot aop 记录方法执行时间
  7. 学计算机与学英语作文,初二英语作文(关于计算机与学习)
  8. MySQL 排名函数.md
  9. 微博:第二批共处置10106个账号 十万粉丝到一百万粉丝的账号8个
  10. mysql gman do_使用MySQL UDFs来调用gearman分布式任务分发系统
  11. Notepad++插件安装和使用和打开大文件
  12. java 字符串长度_ava练习实例:java字符串长度与Java String charAt() 方法 (建议收藏)...
  13. Docker新手入门基础知识与实战教程
  14. 基因组测序、外显子测序和靶向测序有什么样的区别,如何选择?
  15. win10声音输出设备选择声卡步骤
  16. 网易16年春季实习生招聘的一道算法题
  17. 十面阿里,七面头条,六个Offer,春招结束
  18. Linux安装tar软件教程,tar的简单实用及linux常见软件的安装
  19. 计算机网络安全工作室介绍,计算机网络技术专业 “网络工作室”做法简介
  20. javaS的tring和androidS的tring区别是什么?

热门文章

  1. 访问和操作H2数据库
  2. 生活时尚酒店品牌JOJOE进军中国,首批选址7个城市,未来将开设至少1300家门店 | 美通社头条...
  3. opencv-python 实现截取图片中的多边形、圆形区域
  4. 总结整理Echarts双y轴曲线图(全)
  5. sap增加税码注意事项,进项税调整SAP相应调整
  6. 传统企业怎么通过抖音引流到微信
  7. python数据库开发 dga_使用深度学习检测DGA(域名生成算法)——LSTM的输入数据本质上还是词袋模型...
  8. VMware虚拟机备份和恢复
  9. zend_Zend认证工程师
  10. 骨传导耳机有哪些品牌、最好的骨传导蓝牙耳机品牌介绍