日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python画图角度_Python画图

發布時間:2025/3/20 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python画图角度_Python画图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python畫圖

使用Echarts

Echarts是百度開源的js繪圖工具,

pyecharts是Echarts的封裝, 安裝pip install pyecharts.

pyecharts只能將繪好的js保存為html, 可以使用pyecharts-snapshot將生成的html轉為pdf或png或git.

官方文檔http://pyecharts.org/#/zh-cn/prepare

pyecharts-snapshot依賴于phantomjs, Windows安裝可以在官網下載zip包,解壓后,將C:\\**\bin\目錄添加到環境變量的Path中.

安裝pip install pyecharts-snapshot

餅圖

使用方式

# -*- coding:utf-8 -*-

from __future__ import unicode_literals

from pyecharts import Pie

from pyecharts_snapshot.main import make_a_snapshot

from PIL import Image

import os

import sys

savety = [u'危險', u'比較危險', u'比較安全', u'安全']

savety_colors = [u'#df0000', u'#ff5f5a', u'#37baf1', u'#10ae50']

savety_x = [6, 1, 2, 3]

# 標題居中

pie = Pie()

pie.add(

# title

'',

# label

savety,

# 數值,比例

savety_x,

# 顯示label

is_label_show=True,

# 不顯示顏色提示的意思

is_legend_show=False,

# 是否高亮顯示標簽

is_label_emphasis=False,

# label字體size

label_text_size=25,

# 隨機顏色

# is_random=True,

# 自定義標簽顏色

label_color=savety_colors,

# 右側工具箱

is_toolbox_show=False

)

# 將生成的圖片保存為html

pie.render()

# 將標準輸出的信息,重定向到文件中

current = sys.stdout

f = open('temp', 'w')

sys.stdout = f

# 將html保存為pdf或png

make_a_snapshot('render.html', 'test.png')

# 還原標準輸出

sys.stdout = current

f.close()

os.remove('render.html')

os.remove('temp')

img = Image.open('test.png')

w, h = img.size

img = img.resize((int(w*0.3), int(h*0.3)), Image.ANTIALIAS)

img.save('hhh.png')

os.remove('test.png')

使用make_a_snapshot生成的圖片是屏幕的截圖, 文件大小很大.

使用PIL對圖片進行一個縮小, 如果直接使用resize命令, 會對圖片進行扭曲壓縮,不是等比縮放的,

對圖片的寬和高都和一個固定值相乘,可以實現等比的縮放.

Image.ANTIALIAS是對圖片進行高清的縮放.

柱狀圖

示例

# -*- coding:utf-8 -*-

from __future__ import unicode_literals

from pyecharts import Bar

attr = ['Cifs', 'DNS', 'FTP', 'RPC', 'SMB']

info =[10, 2, 2, 18, '']

low = [6, 5, 5, 1, 1]

medium = [7, 8, 1, '', 6]

high = [1, 8, 1, '', 2]

urgent = ['', 1, 2, '', '']

colors = ['#10ae50', '#37baf1', '#ffa92e', '#ff605a', '#df0000']

bar = Bar('test')

# 全局配置項要在最后一個 add() 上設置,否側設置會被沖刷掉。

# 交換x y軸

# is_convert=True

# y軸字體顏色,默認是黑色

# yaxis_label_textcolor='#00000'

# add(name, x_axis, y_axis,

# is_stack=False,

# bar_category_gap='20%', **kwargs)

bar.add('信息', attr, info, is_label_show=True, label_pos='inside', is_stack=True)

bar.add('低危', attr, low, is_label_show=True, label_pos='inside', is_stack=True)

bar.add('中危', attr, medium, is_label_show=True, label_pos='inside', is_stack=True)

bar.add('高危', attr, high, is_label_show=True, label_pos='inside', is_stack=True)

bar.add('緊急', attr, urgent, is_stack=True,

# 網格線

is_splitline_show=False,

label_pos='inside',

# 是否高亮顯示標簽

# is_label_emphasis=False,

# 高亮標簽字體顏色

# label_emphasis_textcolor='red',

# 高亮標簽的位置

label_emphasis_pos='inside',

# 標簽數據

is_label_show=True,

# 標簽顏色自定義

label_color=colors,

# 標簽字體顏色

label_text_color='#000',

# 標簽字體大小

label_text_size=15,

# x/y交換

is_convert=True,

# y軸刻度標簽

# yaxis_interval=0,

# 是否顯示y軸

# is_yaxis_show=False,

# y軸反向顯示

is_yaxis_inverse=True,

# 不顯示工具箱

is_toolbox_show=False

)

bar.render()

使用matplotlib

matplotlib使用的比較廣泛, 有很多功能都還沒有研究到.

安裝pip install matplotlib

示例

# -*- coding: utf-8 -*-

from matplotlib import mlab, font_manager as fm

from matplotlib import pyplot as plt

savety = [u'危險', u'比較危險', u'比較安全', u'安全']

savety_colors = [u'#df0000', u'#ff5f5a', u'#37baf1', u'#10ae50']

labels = [u'信息', u'低風險', u'中風險', u'高風險', u'緊急']

savety_x = [6, 1, 1, 1]

# matplotlib顯示中文的問題

plt.rcParams['font.sans-serif'] = ['SimHei']

# 顯示負號

plt.rcParams['axes.unicode_minus'] = False

# 設置為圓形,不設置就是橢圓的

plt.axis('equal')

# 畫餅圖(數據,數據對應的標簽,百分數保留兩位小數點)

# patches是餅圖的返回值,texts是餅外的文本,autotexts是餅內的文本

pathches, texts, autotexts = plt.pie(savety_x,

# 餅圖的顏色

colors=savety_colors,

# 標簽名

labels=savety,

# 小數

autopct='%1.1f%%',

# 角度

startangle=90,

)

# 顏色提示, loc設置legend的位置,包括'upper right', 'upper left', 'lower right', 'lower left'

# bbox_to_anchor: 表示legend距離圖形之間的距離,當出現圖形與legend重疊時,可使用bbox_to_anchor進行調整legend的位置

plt.legend(loc='upper right', bbox_to_anchor=(1.1, 1.1))

# 一定要放在plt.show()之前

plt.savefig("PieChart.jpg")

plt.show()

plt.close()

總結

以上是生活随笔為你收集整理的python画图角度_Python画图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。