午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > 利用Python制作PPT的完整步驟

利用Python制作PPT的完整步驟

熱門標(biāo)簽:怎么辦理400客服電話 企業(yè)微信地圖標(biāo)注 萊蕪電信外呼系統(tǒng) 銀川電話機(jī)器人電話 高德地圖標(biāo)注收入咋樣 沈陽防封電銷電話卡 鶴壁手機(jī)自動(dòng)外呼系統(tǒng)違法嗎 B52系統(tǒng)電梯外呼顯示E7 地圖標(biāo)注多個(gè)

前言

怎么,你還沒學(xué)Python嗎? 此一時(shí)彼以時(shí),什么C,JAVA,現(xiàn)在在求職市場都是渣渣,鋪天蓋地的Python學(xué)習(xí)廣告,一遍又一遍地提醒著著我,你已經(jīng)老了:

老板說:你很努力,但我還是想提拔會(huì)Python的人。

員工說:自從學(xué)了Python,腰不疼了,腿不酸了,頸椎不痛了,連工資都漲了。。。

碼農(nóng)說:我要偷偷學(xué)Python,驚呆所有人!

。。。。。。


所以,為了不被時(shí)代滾滾洪流淘汰,爭取抓上時(shí)代前進(jìn)的末班車,我也要學(xué)Python了,從最實(shí)用的-文案(吹)PPT(牛逼)做起。

下面開始技術(shù)流。

步驟1:

Python存在不同版本之間的兼容性問題,所以有必要說明一下版本,這里我在Ubuntu系統(tǒng)上使用Python3為例,如果你的系統(tǒng)不是Python3.請按照如下步驟修改:

caozilong@caozilong-Vostro-3268:/usr/bin$ sudo rm python 
caozilong@caozilong-Vostro-3268:/usr/bin$ sudo ln -s /usr/bin/python3 /usr/bin/python 
caozilong@caozilong-Vostro-3268:/usr/bin$ 

步驟2:安裝PIP3

安裝PIP3的目的是為了安裝 Python PPT插件,作為Python3上的包管理工具,PIP3不可或缺。

caozilong@caozilong-Vostro-3268:~/Workspace/python-ppt$ sudo apt install python3-pip
[sudo] caozilong 的密碼: 
正在讀取軟件包列表... 完成
正在分析軟件包的依賴關(guān)系樹       
正在讀取狀態(tài)信息... 完成       
python3-pip 已經(jīng)是最新版 (9.0.1-2.3~ubuntu1.18.04.5)。
下列軟件包是自動(dòng)安裝的并且現(xiàn)在不需要了:
  libegl1-mesa libfwup1 libllvm9 python-kerberos
使用'sudo apt autoremove'來卸載它(它們)。
升級了 0 個(gè)軟件包,新安裝了 0 個(gè)軟件包,要卸載 0 個(gè)軟件包,有 10 個(gè)軟件包未被升級。
caozilong@caozilong-Vostro-3268:~/Workspace/python-ppt$ 

步驟3:安裝python-pptx

caozilong@caozilong-Vostro-3268:~/Workspace/python-ppt$ sudo pip3 install python-pptx
The directory '/home/caozilong/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/caozilong/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting python-pptx
  Downloading https://files.pythonhosted.org/packages/53/ed/547be9730350509253bc7d76631a8ffcd1a62dda4d7482fb25d369696e37/python-pptx-0.6.19.tar.gz (9.3MB)
    100% |████████████████████████████████| 9.3MB 180kB/s 
Requirement already satisfied: Pillow>=3.3.2 in /usr/lib/python3/dist-packages (from python-pptx)
Collecting XlsxWriter>=0.5.7 (from python-pptx)
  Downloading https://files.pythonhosted.org/packages/93/51/11cb4545e95f1a845a6ca5475eb425272dc32c2f0e3592d80e7abd491374/XlsxWriter-1.4.4-py2.py3-none-any.whl (149kB)
    100% |████████████████████████████████| 153kB 5.9MB/s 
Collecting lxml>=3.1.0 (from python-pptx)
  Downloading https://files.pythonhosted.org/packages/1f/1d/a4485412268b38043a6c0f873245b5d9315c6615bcf44776759a2605dca5/lxml-4.6.3-cp36-cp36m-manylinux1_x86_64.whl (5.5MB)
    100% |████████████████████████████████| 5.5MB 295kB/s 
Installing collected packages: XlsxWriter, lxml, python-pptx
  Running setup.py install for python-pptx ... done
Successfully installed XlsxWriter-1.4.4 lxml-4.6.3 python-pptx-0.6.19
caozilong@caozilong-Vostro-3268:~/Workspace/python-ppt$

4.寫代碼測試:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from pptx import Presentation
 
prs = Presentation()
title_slide_layout = prs.slide_layouts[0]
slide = prs.slides.add_slide(title_slide_layout)
title = slide.shapes.title
subtitle = slide.placeholders[1]
 
title.text = "Hello, World!"
subtitle.text = "python-pptx 可以輕松制作powerpoint!"
 
prs.save('czl.pptx')

 執(zhí)行:

caozilong@caozilong-Vostro-3268:~/Workspace/python-ppt$ python py1.py
caozilong@caozilong-Vostro-3268:~/Workspace/python-ppt$ ls -l
總用量 32
-rw-rw-r-- 1 caozilong caozilong 28292 7月  18 15:51 czl.pptx
-rw-rw-r-- 1 caozilong caozilong   362 7月  18 15:51 py1.py
caozilong@caozilong-Vostro-3268:~/Workspace/python-ppt$ 

用WPS打開czl.pptx.

from pptx import Presentation
 
prs = Presentation()
bullet_slide_layout = prs.slide_layouts[1]
 
slide = prs.slides.add_slide(bullet_slide_layout)
shapes = slide.shapes
 
title_shape = shapes.title
body_shape = shapes.placeholders[1]
 
title_shape.text = 'Adding a Bullet Slide'
 
tf = body_shape.text_frame
tf.text = 'Find the bullet slide layout'
 
p = tf.add_paragraph()
p.text = 'Use _TextFrame.text for first bullet'
p.level = 1
 
p = tf.add_paragraph()
p.text = 'Use _TextFrame.add_paragraph() for subsequent bullets'
p.level = 2
 
prs.save('czl.pptx')

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from pptx import Presentation
from pptx.enum.shapes import MSO_SHAPE
from pptx.util import Inches
 
prs = Presentation()
title_only_slide_layout = prs.slide_layouts[5]
slide = prs.slides.add_slide(title_only_slide_layout)
shapes = slide.shapes
 
shapes.title.text = 'Adding an AutoShape'
 
left = Inches(0.93)  # 0.93" centers this overall set of shapes
top = Inches(3.0)
width = Inches(1.75)
height = Inches(1.0)
 
shape = shapes.add_shape(MSO_SHAPE.PENTAGON, left, top, width, height)
shape.text = 'Step 1'
 
left = left + width - Inches(0.4)
width = Inches(2.0)  # chevrons need more width for visual balance
 
for n in range(2, 6):
    shape = shapes.add_shape(MSO_SHAPE.CHEVRON, left, top, width, height)
    shape.text = 'Step %d' % n
    left = left + width - Inches(0.4)
 
prs.save('test.pptx')

from pptx import Presentation
from pptx.chart.data import CategoryChartData
from pptx.enum.chart import XL_CHART_TYPE
from pptx.util import Inches
 
# create presentation with 1 slide ------
prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[5])
 
# define chart data ---------------------
chart_data = CategoryChartData()
chart_data.categories = ['East', 'West', 'Midwest']
chart_data.add_series('Series 1', (19.2, 21.4, 16.7))
 
# add chart to slide --------------------
x, y, cx, cy = Inches(2), Inches(2), Inches(6), Inches(4.5)
slide.shapes.add_chart(
    XL_CHART_TYPE.COLUMN_CLUSTERED, x, y, cx, cy, chart_data)
 
prs.save('chart-01.pptx')

from pptx import Presentation
from pptx.util import Inches
from pptx import Presentation
from pptx.chart.data import ChartData
from pptx.enum.chart import XL_CHART_TYPE
from pptx.util import Cm #Inches
from pptx.enum.chart import XL_LEGEND_POSITION
 
if __name__ == '__main__':
    # 創(chuàng)建幻燈片 ------
    prs = Presentation('template.pptx')
    title_only_slide_layout = prs.slide_layouts[5]
    slide = prs.slides.add_slide(title_only_slide_layout)
    shapes = slide.shapes
 
    shapes.title.text = '報(bào)告'
 
    # 定義表格數(shù)據(jù) ------
    name_objects = ["object1", "object2", "object3"]
    name_AIs = ["AI1", "AI2", "AI3"]
    val_AI1 = (19.2, 21.4, 16.7)
    val_AI2 = (22.3, 28.6, 15.2)
    val_AI3 = (20.4, 26.3, 14.2)
    val_AIs = [val_AI1, val_AI2, val_AI3]
 
    # 表格樣式 --------------------
    rows = 4
    cols = 4
    top    = Cm(12.5)
    left   = Cm(3.5) #Inches(2.0)
    width  = Cm(24) # Inches(6.0)
    height = Cm(6) # Inches(0.8)
 
    # 添加表格到幻燈片 --------------------
    table = shapes.add_table(rows, cols, left, top, width, height).table
 
    # 設(shè)置單元格寬度
    table.columns[0].width = Cm(6)# Inches(2.0)
    table.columns[1].width = Cm(6)
    table.columns[2].width = Cm(6)
    table.columns[3].width = Cm(6)
 
    # 設(shè)置標(biāo)題行
    table.cell(0, 1).text = name_objects[0]
    table.cell(0, 2).text = name_objects[1]
    table.cell(0, 3).text = name_objects[2]
 
    # 填充數(shù)據(jù)
    table.cell(1, 0).text = name_AIs[0]
    table.cell(1, 1).text = str(val_AI1[0])
    table.cell(1, 2).text = str(val_AI1[1])
    table.cell(1, 3).text = str(val_AI1[2])
 
    table.cell(2, 0).text = name_AIs[1]
    table.cell(2, 1).text = str(val_AI2[0])
    table.cell(2, 2).text = str(val_AI2[1])
    table.cell(2, 3).text = str(val_AI2[2])
 
    table.cell(3, 0).text = name_AIs[2]
    table.cell(3, 1).text = str(val_AI3[0])
    table.cell(3, 2).text = str(val_AI3[1])
    table.cell(3, 3).text = str(val_AI3[2])
 
    # 定義圖表數(shù)據(jù) ---------------------
    chart_data = ChartData()
    chart_data.categories = name_objects
    chart_data.add_series(name_AIs[0], val_AI1)
    chart_data.add_series(name_AIs[1], val_AI2)
    chart_data.add_series(name_AIs[2], val_AI3)
 
    # 添加圖表到幻燈片 --------------------
    x, y, cx, cy = Cm(3.5), Cm(4.2), Cm(24), Cm(8)
 
    graphic_frame = slide.shapes.add_chart(
        XL_CHART_TYPE.COLUMN_CLUSTERED, x, y, cx, cy, chart_data
        )
 
    chart = graphic_frame.chart
 
    chart.has_legend = True
    chart.legend.position = XL_LEGEND_POSITION.TOP
    chart.legend.include_in_layout = False
 
    value_axis = chart.value_axis
    value_axis.maximum_scale = 100.0
 
    value_axis.has_title = True
    value_axis.axis_title.has_text_frame = True
    value_axis.axis_title.text_frame.text = "False positive"
    value_axis.axis_title.text_frame.auto_size
 
    prs.save('test_template.pptx')

結(jié)束后,整理PPT目錄,給每個(gè)文件加上序號:

caozilong@caozilong-Vostro-3268:~/Workspace/python-ppt$ ls -l *.pptx
-rw-rw-r-- 1 caozilong caozilong 28292 7月  18 16:05 1.template.pptx
-rw-rw-rw- 1 caozilong caozilong   165 7月  18 15:59 2..~test.pptx
-rw-rw-r-- 1 caozilong caozilong 28292 7月  18 16:05 3.czl.pptx
-rw-rw-rw- 1 caozilong caozilong   165 7月  18 15:53 4..~czl.pptx
-rw-rw-r-- 1 caozilong caozilong 35873 7月  18 16:06 5.test_template.pptx
-rw-rw-rw- 1 caozilong caozilong   165 7月  18 16:06 6..~test_template.pptx
caozilong@caozilong-Vostro-3268:~/Workspace/python-ppt$ 

Python 繪圖:

import matplotlib.pyplot as plt
from pylab import * 
mpl.rcParams['font.sans-serif'] = ['SimHei']
 
"""條形圖bar"""
x = ['10/Q1', '10/Q3', '11/Q1', '11/Q3', '12/Q1', '12/Q3', '13/Q1', '13/Q3', '14/Q1', '14/Q3', '15/Q1', '15/Q3', '16/Q1', '16/Q3', '17/Q1', '17/Q3']
y = [20, 35, 39, 62, 87, 114, 140, 169, 187, 211, 225, 239, 241, 247, 251, 258]
 
# plt.bar([1,3,5,7,9],[5,2,7,8,2],label='Example One',color='b')#plt.bar創(chuàng)建條形圖
# plt.bar([2,4,6,8,10],[8,6,2,5,6],label='Example Two',color='g')
 
plt.bar(range(16), y, color = 'lightsteelblue')
plt.plot(range(16), y, marker = 'o', color = 'coral') #coral
plt.xticks(range(16), x)
plt.xlabel('year/month')
plt.ylabel("active customer/month")
plt.legend()
plt.show()

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.patches as mpatches
plt.subplots_adjust(left=0.00, bottom=0.0, right=1.00, top=0.95, wspace=0.0, hspace=0.00)
 
 
def hexagon_with_text(ax,x,y,text,size,**kwargs):
    xy=np.array([x,y])
    hexagon = mpatches.RegularPolygon(xy, 6, radius=size,facecolor='#5472bb',edgecolor='#3f597c', orientation=np.pi / 2)
    ax.add_patch(hexagon)
    ax.text(xy[0],xy[1],text,fontsize=size*14,color='white',va='center',ha='center')
 
def circle_with_text(ax,x,y,text,size,**kwargs):
    xy=np.array([x,y])
    circle = mpatches.Circle(xy, radius=size,facecolor='#83aa51',edgecolor='#546538')
    ax.add_patch(circle)
    ax.text(xy[0],xy[1],text,fontsize=size*14,color='white',va='center',ha='center')
 
def arrow(ax,x,y,size,**kwargs):
    ax.plot(x,y,**kwargs)
    theta=np.arctan2(x[1]-x[0],y[1]-y[0])
    xy=np.array([x[1]-size*np.sin(theta),y[1]-size*np.cos(theta)])
    triangle = mpatches.RegularPolygon(xy, 3, radius=size,color=kwargs['color'], orientation=-theta)
    ax.add_patch(triangle)
 
def arrow_with_rad(ax,x,y,radius,size,**kwargs):
    d=np.sqrt((x[1]-x[0])**2+(y[1]-y[0])**2)
 
    theta=np.arctan2(x[1]-x[0],y[0]-y[1])
 
    x0=(x[0]+x[1])/2+np.cos(theta)*np.sqrt(radius**2-(d/2)**2)
    y0=(y[0]+y[1])/2+np.sin(theta)*np.sqrt(radius**2-(d/2)**2)
 
    theta1=np.arctan2(y[0]-y0,x[0]-x0)
    theta2=np.arctan2(y[1]-y0,x[1]-x0)
 
    arc_x = []
    arc_y = []
 
    for theta in np.arange(theta1,theta2+(np.pi*2),np.pi/180):
        temp_x=x0 + radius * np.cos(theta)
        temp_y=y0 + radius * np.sin(theta)
        if((temp_x-x[0])**2+(temp_y-y[0])**2>1 and (temp_x-x[1])**2+(temp_y-y[1])**2>1):
            arc_x.append(temp_x)
            arc_y.append(temp_y)
    ax.plot(arc_x,arc_y,**kwargs)
 
    theta=np.arctan2(arc_y[-2]-arc_y[-1],arc_x[-2]-arc_x[-1])
    xy=np.array([arc_x[-1]+size*np.cos(theta),arc_y[-1]+size*np.sin(theta)])
    triangle = mpatches.RegularPolygon(xy, 3, radius=size,color=kwargs['color'], orientation=np.pi/2+theta)
    ax.add_patch(triangle)
 
ax=plt.subplot(1,1,1,aspect='equal')
ax.axis('off')
 
circle_with_text(ax,2,23,'$\mathrm{U_{1}}$',1)
circle_with_text(ax,2,20,'$\mathrm{U_{2}}$',1)
circle_with_text(ax,2,17,'$\mathrm{U_{3}}$',1)
circle_with_text(ax,2,14,'$\mathrm{U_{4}}$',1)
 
hexagon_with_text(ax,8,22.5,'$\mathrm{I_{1}}$',1)
hexagon_with_text(ax,8,18.5,'$\mathrm{I_{2}}$',1)
hexagon_with_text(ax,8,14.5,'$\mathrm{I_{3}}$',1)
 
arrow(ax,[3,8+np.cos(np.pi*3/3)],[23,22.5+np.sin(np.pi*3/3)],0.3,color='#b65576',linestyle='--')
arrow(ax,[3,8+np.cos(np.pi*2/3)],[23,14.5+np.sin(np.pi*2/3)],0.3,color='#b65576',linestyle='--')
arrow(ax,[3,8+np.cos(np.pi*4/3)],[17,22.5+np.sin(np.pi*4/3)],0.3,color='#b65576',linestyle='--')
arrow(ax,[3,8+np.cos(np.pi*4/3)],[14,18.5+np.sin(np.pi*4/3)],0.3,color='#b65576',linestyle='--')
 
arrow(ax,[3,8+np.cos(np.pi*3/3)],[20,18.5+np.sin(np.pi*3/3)],0.3,color='#b9b8bd',linestyle='--')
arrow(ax,[3,8+np.cos(np.pi*3/3)],[17,14.5+np.sin(np.pi*3/3)],0.3,color='#b9b8bd',linestyle='--')
arrow(ax,[3,8+np.cos(np.pi*3/3)],[14,14.5+np.sin(np.pi*3/3)],0.3,color='#b9b8bd',linestyle='--')
 
ax.text(10.5,15,'${G_{r}}$',fontsize=20)
 
circle_with_text(ax,4.2,10.5,'$\mathrm{U_{1}}$',1)
circle_with_text(ax,9.0,10.0,'$\mathrm{U_{2}}$',1)
circle_with_text(ax,8.5,5.8,'$\mathrm{U_{3}}$',1)
circle_with_text(ax,3.8,6.8,'$\mathrm{U_{4}}$',1)
 
theta=-np.pi/2-np.arctan2(9.0-4.2,10.0-10.5)
arrow(ax,[9.0+np.cos(theta),4.2-np.cos(theta)],[10.0+np.sin(theta),10.5-np.sin(theta)],0.3,color='#8199bb')
 
theta=-np.pi/2-np.arctan2(8.5-9.0,5.8-10.0)
arrow(ax,[8.5+np.cos(theta),9.0-np.cos(theta)],[5.8+np.sin(theta),10.0-np.sin(theta)],0.3,color='#8199bb')
 
theta=-np.pi/2-np.arctan2(3.8-4.2,6.8-10.5)
arrow(ax,[3.8+np.cos(theta),4.2-np.cos(theta)],[6.8+np.sin(theta),10.5-np.sin(theta)],0.3,color='#8199bb')
 
theta=-np.pi/2-np.arctan2(3.8-8.5,6.8-5.8)
arrow(ax,[3.8+np.cos(theta),8.5-np.cos(theta)],[6.8+np.sin(theta),5.8-np.sin(theta)],0.3,color='#8199bb')
 
theta=-np.pi/2-np.arctan2(4.2-8.5,10.5-5.8)
arrow(ax,[4.2+np.cos(theta),8.5-np.cos(theta)],[10.5+np.sin(theta),5.8-np.sin(theta)],0.3,color='#8199bb')
 
arrow_with_rad(ax,[4.2,3.8],[10.5,6.8],1.9,0.3,color='#8199bb')
 
ax.text(10.5,8,r'${G_s}$',fontsize=20)
 
circle_with_text(ax,25.0,19.0,'$\mathrm{U_{1}}$',1)
circle_with_text(ax,35.0,17.0,'$\mathrm{U_{2}}$',1)
circle_with_text(ax,32.0,8.0,'$\mathrm{U_{3}}$',1)
circle_with_text(ax,24.0,10.0,'$\mathrm{U_{4}}$',1)
 
hexagon_with_text(ax,32.5,14.0,'$\mathrm{I_{1}}$',1)
hexagon_with_text(ax,23.0,16.0,'$\mathrm{I_{2}}$',1)
hexagon_with_text(ax,27.0,13.0,'$\mathrm{I_{3}}$',1)
 
theta=-np.pi/2-np.arctan2(35.0-25.0,17.0-19.0)
arrow(ax,[35.0+np.cos(theta),25.0-np.cos(theta)],[17.0+np.sin(theta),19.0-np.sin(theta)],0.3,color='#8199bb')
 
theta=-np.pi/2-np.arctan2(24.0-25.0,10.0-19.0)
arrow(ax,[24.0+np.cos(theta),25.0-np.cos(theta)],[10.0+np.sin(theta),19.0-np.sin(theta)],0.3,color='#8199bb')
 
theta=-np.pi/2-np.arctan2(24.0-32.0,10.0-8.0)
arrow(ax,[24.0+np.cos(theta),32.0-np.cos(theta)],[10.0+np.sin(theta),8.0-np.sin(theta)],0.3,color='#8199bb')
 
theta=-np.pi/2-np.arctan2(32.0-35.0,8.0-17.0)
arrow(ax,[32.0+np.cos(theta),35.0-np.cos(theta)],[8.0+np.sin(theta),17.0-np.sin(theta)],0.3,color='#8199bb')
 
theta=-np.pi/2-np.arctan2(25.0-32.0,19.0-8.0)
arrow(ax,[25.0+np.cos(theta),32.0-np.cos(theta)],[19.0+np.sin(theta),8.0-np.sin(theta)],0.3,color='#8199bb')
 
theta=-np.pi/2-np.arctan2(24.0-23-np.cos(np.pi*5/3),10.0-16.0-np.sin(np.pi*5/3))
arrow(ax,[24.0+np.cos(theta),23.0+np.cos(np.pi*5/3)],[10.0+np.sin(theta),16.0+np.sin(np.pi*5/3)],0.3,color='#b65576',linestyle='--')
 
theta=-np.pi/2-np.arctan2(32.0-32.5-np.cos(np.pi*4/3),8.0-14.0-np.sin(np.pi*4/3))
arrow(ax,[32.0+np.cos(theta),32.5+np.cos(np.pi*4/3)],[8.0+np.sin(theta),14.0+np.sin(np.pi*4/3)],0.3,color='#b65576',linestyle='--')
 
theta=-np.pi/2-np.arctan2(25.0-32.0-np.cos(np.pi*2/3),19.0-8.0-np.sin(np.pi*2/3))
arrow(ax,[25.0+np.cos(theta),27.0+np.cos(np.pi*2/3)],[19.0+np.sin(theta),13.0+np.sin(np.pi*2/3)],0.3,color='#b65576',linestyle='--')
arrow(ax,[25.0+np.cos(theta),32.5+np.cos(np.pi*3/3)],[19.0+np.sin(theta),14.0+np.sin(np.pi*3/3)],0.3,color='#b65576',linestyle='--')
 
theta=-np.pi/2-np.arctan2(24.0-23-np.cos(np.pi*5/3),10.0-16.0-np.sin(np.pi*5/3))
arrow(ax,[24.0+np.cos(theta),23.0+np.cos(np.pi*5/3)],[10.0+np.sin(theta),16.0+np.sin(np.pi*5/3)],0.3,color='#b65576',linestyle='--')
 
theta=-np.pi/2-np.arctan2(35.0-23-np.cos(np.pi*0/3),17.0-16.0-np.sin(np.pi*0/3))
arrow(ax,[35.0+np.cos(theta),23.0+np.cos(np.pi*0/3)],[17.0+np.sin(theta),16.0+np.sin(np.pi*0/3)],0.3,color='#b9b8bd',linestyle='--')
 
theta=-np.pi/2-np.arctan2(24.0-27-np.cos(np.pi*4/3),10.0-13.0-np.sin(np.pi*4/3))
arrow(ax,[24.0+np.cos(theta),27.0+np.cos(np.pi*4/3)],[10.0+np.sin(theta),13.0+np.sin(np.pi*4/3)],0.3,color='#b9b8bd',linestyle='--')
 
theta=-np.pi/2-np.arctan2(32.0-27-np.cos(np.pi*5/3),8.0-13.0-np.sin(np.pi*5/3))
arrow(ax,[32.0+np.cos(theta),27.0+np.cos(np.pi*5/3)],[8.0+np.sin(theta),13.0+np.sin(np.pi*5/3)],0.3,color='#b9b8bd',linestyle='--')
 
arrow_with_rad(ax,[25,24],[19,10],4.8,0.3,color='#8199bb')
 
bbox_props = dict(boxstyle="rarrow,pad=0.3", fc="#629cce", ec="#657084", lw=2)
 
ax.text(16, 18, " "*15, ha="center", va="center", rotation=345,
            size=15,
            bbox=bbox_props)
 
ax.text(16, 9, " "*15, ha="center", va="center", rotation=30,
            size=15,
            bbox=bbox_props)
 
arrow(ax,[10,13],[24.5,24.5],0.3,color='#b65576',linestyle='--')
arrow(ax,[20,23],[24.5,24.5],0.3,color='#b9b8bd',linestyle='--')
arrow(ax,[27,30],[24.5,24.5],0.3,color='#8199bb')
 
ax.text(9.5,24.5,'Purchase-P',fontsize=15,va='center',ha='right')
ax.text(19.5,24.5,'Purchase-N',fontsize=15,va='center',ha='right')
ax.text(26.5,24.5,'Trust',fontsize=15,va='center',ha='right')
 
fig=plt.gcf()
fig.set_size_inches(14, 8)
 
ax.set_xlim(0,40)
ax.set_ylim(0,25)
 
plt.show()
 

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
 
# matplotlib.rcParams['font.family'] = 'SimHei'
 
size = 31
#a = np.random.random(size)
#b = np.random.random(size)
#c = np.random.random(size)
a=[9.30,16.34,9.68,16.96,12.19,9.58,5.65,4.89,7.37,8.44,15.64,14.04,13.30,1.97,34.28,55.18,41.80,53.95,38.84,196.85,450.36,81.79,127.43,46.91,71.44,27.21,36.85,78.30,49.91,66.96, 12.82]
b=[9.81,17.11,10.14,17.32,12.45,9.79,5.88,4.95,7.55,8.50,15.72,14.12,13.38,2.19,34.60,55.86,42.37,54.20,40.75,199.53,453.62,82.92,129.45,47.41,71.99,27.51,38.16,80.26,51.22,67.78,13.05]
c=[10.36,17.89,10.90,17.95,12.66,9.96,6.27,5.08,7.72,8.57,15.86,14.25,13.45,2.49,35.10,56.48,43.28,54.31,45.25,202.48,457.89,84.69,134.42,48.25,73.19,28.00,41.69,82.51,54.61,69.62,13.19]  
x = np.arange(size)
 
total_width, n = 0.8, 3
width = total_width / n
 
str1 = ("squeezenet", "squeezenet_int8", "mobilenet", "mobilenet_int8", "mobilenet_v2", "mobilenet_v3", "shufflenet", "shufflenet_v2", "mnasnet", "proxylessnasnet", "efficientnet_b0", "efficientnetv2_b0", "regnety_400m", "blazeface", "googlenet", "googlenet_int8", "resnet18", "resnet18_int8", "alexnet", "vgg16", "vgg16_int8", "resnet50","resnet50_int8", "squeezenet_ssd","squeezenet_ssd_int8", "mobilenet_ssd","mobilenet_ssd_int8", "mobilenet_yolo", "mobilenetv2_yolov3","yolov4-tiny", "nanodet_m")
 
x = x - (total_width - width) / 2
 
#plt.bar(x, a, width=width, label='min',tick_label=str1)
#plt.bar(x+width, b, width=width, label='avg', tick_label=str1)
#plt.bar(x+2*width, c, width=width, label='max',tick_label=str1)
plt.bar(x, a, width=width, label='min')
plt.bar(x+width, b, width=width, label='avg')
plt.bar(x+2*width, c, width=width, label='max')
 
#for a, b in zip(x, b):
#    plt.text(a, b + 0.05, '%.0f' % b, ha='center', va='bottom', fontsize=10)
    
plt.legend()
plt.show()

總結(jié)

到此這篇關(guān)于利用Python制作PPT的文章就介紹到這了,更多相關(guān)Python制作PPT內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python辦公自動(dòng)化PPT批量轉(zhuǎn)換操作
  • python 批量將PPT導(dǎo)出成圖片集的案例
  • python 實(shí)現(xiàn)提取PPT中所有的文字
  • python自動(dòng)化辦公操作PPT的實(shí)現(xiàn)
  • 分步驟教你用python一步步提取PPT中的圖片

標(biāo)簽:銀川 呼倫貝爾 葫蘆島 烏魯木齊 安慶 湘西 呼倫貝爾 三亞

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《利用Python制作PPT的完整步驟》,本文關(guān)鍵詞  利用,Python,制作,PPT,的,完整,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《利用Python制作PPT的完整步驟》相關(guān)的同類信息!
  • 本頁收集關(guān)于利用Python制作PPT的完整步驟的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    久久久久久久欧美精品| 午夜精品久久久久久99热| 亚洲最大免费视频| 午夜精品久久一牛影视| 91看片就是不一样| 国产精品激情偷乱一区二区∴| 欧美日韩成人一区二区三区| 男男成人高潮片免费网站| 99porn视频在线| 奇米亚洲午夜久久精品| 精品一区二区日本| 99久久精品一区二区| 免费在线观看污污视频| 91日韩精品一区| 精品国产一区二区三区无码| 亚洲精品视频在线观看网站| 日韩爱爱小视频| 欧美三级中文字| 国产欧美小视频| 色老头一区二区三区在线观看| 激情综合网五月天| 国内精品久久久久久中文字幕| 午夜精品久久久久久久99| 成人看片视频| 国产三区在线成人av| 亚洲成人福利在线| 欧美精品丝袜中出| 国产黄色的视频| 奇门遁甲1982国语版免费观看高清| 免费国产羞羞网站视频| 精品视频一区二区三区四区| 国产日产亚洲精品系列| 日韩精品国产一区| 亚洲夜晚福利在线观看| 99久久婷婷国产一区二区三区| 国产精品国产三级欧美二区| 久久久不卡网国产精品一区| 中文字幕资源在线观看| 亚洲人成电影网站色www| jlzzjlzzjlzz亚洲人| 日本视频一区二区在线观看| 亚洲一区在线看| 亚洲精品自拍视频在线观看| **欧美日韩vr在线| 国产丶欧美丶日本不卡视频| 亚洲 欧美 日韩 国产综合 在线| 欧美综合天天夜夜久久| 久久国产视频精品| 久久久久久久久一区| 国产成人av影院| 色综合影院在线观看| 亚洲午夜成aⅴ人片| 亚洲一卡二卡在线观看| 成人av网站观看| 欧美精品v国产精品v日韩精品| 欧美日韩成人免费观看| 91精品视频免费看| 91亚洲资源网| 最新版天堂资源在线| 欧美亚洲日本网站| 久国产精品韩国三级视频| 日韩精品 欧美| 在线播放精品一区二区三区| 视频一区二区三区入口| 青青草原av在线播放| 在线不卡免费av| 国产欧美综合视频 | 蜜桃无码一区二区三区| 国产欧美精品va在线观看| 久久香蕉国产线看观看99| 亚洲精品永久视频| 91免费观看| 午夜电影网一区| 黄色大片网站在线观看| 一二三在线视频| 精品国产91乱码一区二区三区| 91精品国自产| 中文字幕乱码在线人视频| 国内精品小视频在线观看| 成人av资源在线| 人人妻人人澡人人爽人人精品 | 717成人午夜免费福利电影| 后进极品白嫩翘臀在线视频| 精品人妻一区二区三| 国产精品视频一区二区三区四| 色婷婷国产精品| 亚洲精品.www| 亚洲欧美一区二区三区不卡| 鲁丝一区鲁丝二区鲁丝三区| 亚洲第一黄色网| 中文字幕高清一区| 无码任你躁久久久久久久| 国产日韩欧美大片| 国产日韩精品在线播放| 欧美体内she精视频| 人妻夜夜爽天天爽| 久久精品在线观看视频| 亚洲精品一卡二卡三卡四卡| 亚洲国产美女精品久久久久∴| 国产午夜精品久久久久久久 | 欧美日韩三级在线观看| 亚洲精品无码久久久久久| 欧亚精品中文字幕| 欧美电影一区二区| 国产午夜精品一区二区| 国产一区二区女内射| 在线观看免费视频国产| 99精品欧美一区二区三区| 精品国产欧美一区二区| 战狼4完整免费观看在线播放版| 欧美一区亚洲一区| 日韩欧美一区二区三区| 国产91综合网| 国产免费一区二区三区最新不卡| 91福利国产成人精品播放| 国产亚洲精品久久飘花| 欧美激情a在线| 色8久久精品久久久久久蜜| 国产精品一区不卡| 色哟哟中文字幕| 久久国产精品波多野结衣av| 日本美女高潮视频| 大胆欧美熟妇xx| 成人午夜在线影院| 日日狠狠久久偷偷四色综合免费| 精品日韩99亚洲| 一区二区三区四区精品在线视频| 日本免费新一区视频| 亚洲国产成人精品一区二区三区| 日韩欧美视频免费观看| 黄色片视频在线播放| 香蕉视频免费版| 国产主播一区二区三区四区| 97色在线观看免费视频| 中文字幕免费精品一区高清| 制服.丝袜.亚洲.另类.中文| 一区二区在线观看免费视频播放| 免费一区二区视频| 日韩精品一二三区| 99在线小视频| 中文字幕在线播| 久久久精品免费看| 激情视频在线播放| 色欲狠狠躁天天躁无码中文字幕 | 精品无码av一区二区三区| 国产在线精品91| 亚洲美女自拍视频| 色88888久久久久久影院按摩| 亚洲天堂av一区| 国产一区二区三区在线观看免费视频| 少妇一区二区三区四区| 亚洲欧美激情在线观看| 亚洲无码精品在线观看| 国产做受高潮漫动| 久久精品这里有| 国产尤物在线视频| 五月天婷婷网站| 久久影院一区二区| 免费在线观看一级片| 国产精品a成v人在线播放| 久久r这里只有精品| 国产精品麻豆一区| 免费一级suv好看的国产网站| 国产精品九九九九九九| 国产一级二级三级视频| 亚洲一级生活片| 免费中文字幕在线观看| 中文字幕在线播| 久久青草久久| 国产成人午夜99999| 懂色av中文一区二区三区| 国产v日产∨综合v精品视频| xnxx国产精品| 五月天视频一区| 亚洲国产精久久久久久久| 日韩电影中文字幕在线| 日韩中文字幕视频在线| 97超碰色婷婷| 国产成人免费观看| 欧美变态另类刺激| youjizz.com国产| 特级西西人体高清大胆| 日本一二三区不卡| 亚洲AV无码一区二区三区性| 国产精品一色哟哟哟| 亚洲高清免费观看| 精品视频中文字幕| 日本精品视频在线| 国产精品一区二区a| 丁香婷婷综合激情| 超碰男人的天堂| 伊人免费在线观看高清版| caoporn国产精品| 777色狠狠一区二区三区| 久久久久久有精品国产| 国内精品二区| 丁香婷婷激情网| 免费a级黄色片| 波多野结衣黄色网址| 狂野欧美一区| 亚洲女同ⅹxx女同tv| 蜜桃麻豆91| 秋霞毛片久久久久久久久| 日韩高清在线电影| 动漫3d精品一区二区三区| 99视频在线观看免费| 久久综合电影一区| 国产盗摄一区二区三区在线| 日韩一区二区三区四区五区六区| 国产精品一区二区小说| 国产三区在线成人av| 99re在线视频观看| 一级视频在线播放| 欧美精品video| 国产一区三区三区| 天天干天天曰天天操| 亚洲欧美在线高清| 草b视频在线观看| 亚洲超碰精品一区二区| 日本中文字幕片| 五月天婷婷社区| 日本午夜精品电影| 91原创在线视频| 亚洲 高清 成人 动漫| 国产亚洲精品久久| 久久精品国产久精国产爱| 亚洲美女性囗交| 91成品人片a无限观看| 国产成a人亚洲精品| 亚洲美女高潮久久久| 亚洲欧美在线一区| 91精品国产乱码在线观看| 亚洲午夜久久久久久久| 日韩av在线播| 久久999免费视频| 国产一区二区在线视频聊天| 国产精品综合久久久| 午夜偷拍福利视频| 亚洲色图在线观看| 亚洲精品一区二三区| 亚洲午夜精品一区二区| 欧美日韩在线直播| 人妻无码中文久久久久专区| 日韩欧美123| 精品无码一区二区三区蜜臀| 少妇精69xxtheporn| 日本五十肥熟交尾| 国产性猛交xxxx免费看久久| 国产av一区二区三区| 久久香蕉综合色| 精品国产髙清在线看国产毛片| 日韩av成人高清| 国产伦精品一区三区精东| 国产日韩欧美在线播放| 亚洲免费伊人电影| 亚洲av人无码激艳猛片服务器| 精品欧美一区二区久久久伦 | 国产农村妇女精品| 日本xxxxx18| 色综合一区二区三区| 国产极品在线播放| 日韩视频在线免费观看| 在线观看亚洲天堂| 成人久久久久爱| 欧美亚洲综合色| 国产精选久久久| 欧美一区二区三区四区在线观看地址| 欧美日韩国产一区中文午夜| 欧美日韩精品亚洲精品| 成人免费看黄网站| 性欧美8khd高清极品| 亚洲高清在线播放| 6080国产精品一区二区| 4438x全国最大成人| 欧美一级搡bbbb搡bbbb| 日韩在线不卡av| 久久久国产成人精品| 欧产日产国产69| 欧美成年人视频| 国产视频在线一区| 99re热精品| 99久久久国产精品免费蜜臀| 蜜臀在线免费观看| 一区二区在线观看视频| 在线观看免费视频黄| 欧美美女网站色| 亚洲熟女毛茸茸| 亚洲天堂av网| 国产欧美一区二区三区视频在线观看| 国产精品美乳在线观看| 久久99国产精品久久99| 日韩中文字幕在线不卡| 精品国产精品三级精品av网址| 激情av中文字幕| 国产视频久久久| 波多野结衣家庭主妇| 国产精品.com| 欧美性猛交xxxx免费看| 国产精品9191| 日本不卡一区二区三区在线观看| 亚洲一区二区黄色| 日韩一区二区a片免费观看| 久久在线免费观看视频| 秋霞影院一区二区| 激情深爱综合网| 亚洲精品videossex少妇| 99视频国产精品免费观看a| 特级黄色录像片| 这里只有精品99re| 国产精品一品二区三区的使用体验| 国产精品亚洲精品| 久久婷婷国产综合国色天香| 91精品999| 久久影视电视剧免费网站清宫辞电视| 婷婷开心激情网| 91视频最新入口| 亚洲人成在线电影| 另类人妖一区二区av| 无码无遮挡又大又爽又黄的视频| 精品国产一区二区在线观看| 国产视频一区二区三区四区五区| 一区二区三区国| 日韩视频永久免费| 人妻无码中文字幕| 北条麻妃69av| 色偷偷av亚洲男人的天堂| 国内外成人在线| 亚洲少妇一区二区三区| 97av在线视频免费播放| 91香蕉视频污在线| 精品国产一区在线| 日韩av电影免费观看高清| 国产精品天天摸av网| 久草网在线观看| 自拍亚洲欧美老师丝袜| 91精品在线免费观看| 久热精品在线| 一级黄色特级片| 国产在线a不卡| 亚洲综合激情小说| 一级特黄免费视频| 嫩草影院国产精品| 亚洲a级在线播放观看| 欧美中文字幕久久| 天堂av中文字幕| 国产精品久久久久野外| 国产精品劲爆视频| 在线中文字幕一区| 久久精品网址| www.日本久久| 欧美在线一区二区视频| 亚洲一区在线视频| 99久久国产免费| 日本www高清视频| 国产精品av在线播放| 欧美日韩精品二区| 少妇精品视频一区二区| wwwwxxxx国产| 精品1区2区| 亚洲美女自拍视频| 国产精品传媒在线| 一级片免费观看视频| 久久精品国产露脸对白| 国产专区精品视频| 日韩一级在线观看| 亚洲国产精品精华液ab| 国产草草影院ccyycom| 三级电影在线看| 在线观看一区二区三区三州| www.欧美免费| 亚洲最大成人网4388xx| 蜜桃av中文字幕| 国产美女免费无遮挡| 日本不卡在线播放| 欧美国产中文字幕| 欧美色图一区二区三区| kk眼镜猥琐国模调教系列一区二区 | 欧美激情综合色| 欧美一区二区福利在线| 成人福利视频在线看| 午夜精品无码一区二区三区| 国内精品卡一卡二卡三| 成人中文字幕av| 91手机视频在线| 日本不卡二区| 国产精品主播视频| 欧美男插女视频| 亚洲国产精久久久久久久| 在线免费精品视频| 亚洲综合色成人| 国产日韩av一区二区| 国产成人亚洲综合a∨猫咪| 久久久久久自在自线| 国产av一区二区三区精品| 精品人妻一区二区色欲产成人| 99久久久无码国产精品性| 国产专区一区二区三区| 欧美性受xxx| 一区二区欧美在线观看| 国产乱人伦偷精品视频不卡| 日韩不卡一二三区| 丰满人妻一区二区三区无码av| 免费麻豆国产一区二区三区四区| 视频二区在线播放| 国产免费黄视频| 欧美久久久久久一卡四| 欧美一区二区三区四区在线观看地址 | 日韩亚洲综合在线| 久久精品一本久久99精品| 在线一区二区日韩|