手机网站大全观看,茂名制作网站软件,义乌做网站的公司有哪些,微信开放平台 网站应用开发目录
前言
安装
pip安装
安装包安装
柱状图
主要方法
参数说明
示例代码
效果图
解决中文显示问题
修改后的图片
饼状图
主要方法
示例代码
效果图
动态图
主要方法
动态图官方使用介绍
示例代码
颜色设置
内建颜色
字体设置
资料获取方法 前言
众所周…目录
前言
安装
pip安装
安装包安装
柱状图
主要方法
参数说明
示例代码
效果图
解决中文显示问题
修改后的图片
饼状图
主要方法
示例代码
效果图
动态图
主要方法
动态图官方使用介绍
示例代码
颜色设置
内建颜色
字体设置
资料获取方法 前言
众所周知通过数据绘图我们可以将枯燥的数字转换成容易被人们接受的图表从而让人留下更加深刻的印象。而大多数编程语言都有自己的绘图工具matplotlib就是基于Python的绘图工具包使用它我们可以仅仅使用几行代码就生成 饼图、直方图、功率谱、条形图、错误图、散点图、气泡图甚至生成动态图型也都很轻松。而且它的绘图方法丰富可以在各种交互式环境中运行且生成的图像质量高、兼容各种硬拷贝格式。 博主也是在测试一个算法的时候为了更直观的呈现数据走向学习了它的相关用法这篇博客大部分内容是在此过程中的学习笔记。
matplotlib的官网地址是https://matplotlib.org/gallery下面这些是他们官网的一些示例图形。 安装
pip安装
Matplotlib的安装比较容易可以直接通过pip安装也可以通过下载安装包的方式安装。博主使用的是python3相关的安装命令如下
pip3 install matplotlib安装包安装
如果你的Python3可以直接点击下面的py3链接下载进行安装则点击可以点击其他python版本下载对应Python版本进行安装matplotlib-1.4.3.win-amd64-py3
其他python版本 柱状图
主要方法
用python画柱状图很容易主要的方法是
atplotlib.pyplot.bar(left, height, width0.8, bottomNone, holdNone, dataNone, **kwargs)参数说明 left: 每一个柱形左侧的X坐标height:每一个柱形的高度width: 柱形之间的宽度bottom: 柱形的Y坐标color: 柱形的颜色 示例代码
import matplotlib.pyplot as plt
import timesource_data {mock_verify: 369, mock_notify: 192, mock_sale: 517} # 设置原始数据for a, b in source_data.items():plt.text(a, b 0.05, %.0f % b, hacenter, vabottom, fontsize11) # ha 文字指定在柱体中间 va指定文字位置 fontsize指定文字体大小# 设置X轴Y轴数据两者都可以是list或者tuple
x_axis tuple(source_data.keys())
y_axis tuple(source_data.values())
plt.bar(x_axis, y_axis, colorrgb) # 如果不指定color所有的柱体都会是一个颜色plt.xlabel(u渠道名) # 指定x轴描述信息
plt.ylabel(u访问量) # 指定y轴描述信息
plt.title(渠道访问量统计表) # 指定图表描述信息
plt.ylim(0, 600) # 指定Y轴的高度
plt.savefig({}.png.format(time.strftime(%Y%m%d%H%M%S))) # 保存为图片
plt.show()效果图 解决中文显示问题
从上面的图片看到matplotlib绘制图像显示中文时中文会变成小方格子。搜了很多资料最佳的解决方法是动态设置参数添加下面的代码。
from pylab import mplmpl.rcParams[font.sans-serif] [FangSong] # 指定默认字体
mpl.rcParams[axes.unicode_minus] False # 解决保存图像是负号-显示为方块的问题修改后的图片 饼状图
主要方法
用python画柱状图的主要方法如下
plt.pie(xfracs, labelslabels, explodeexplode, autopct%3.1f %%,shadowFalse, labeldistance1.1, startangle0, pctdistance0.8)示例代码
相关的参数已在注释中说明
import matplotlib.pyplot as plt
data {8516464: 106, 8085460: 704, 7593813: 491, 8709362: 24, 8707829: 6, 8684658: 23, 8679301: 11,8665923: 29, 8660909: 23, 8652968: 31, 8631727: 31, 8622935: 24, 8620593: 18, 8521737: 33,8605441: 49, 8495205: 82, 8477276: 57,8474489: 71, 8456502: 50, 8446529: 68, 8433830: 136,8254158: 103, 8176029: 88, 8081724: 58, 7922592: 185, 7850099: 62,7617723: 61, 7615562: 90,7615052: 57, 7604151: 102, 7511294: 59,6951654: 27, 6946388: 142, 6945373: 159, 6937716: 347,7460176: 64, 7246377: 87, 7240621: 145, 7204707: 645, 7028401: 671}
source_data sorted(data.items(), keylambda x: x[1], reverseTrue)
print(source_data)
labels [source_data[i][0][:4] for i in range(len(source_data))] # 设置标签
fracs [source_data[i][1] for i in range(len(source_data))]
explode [x * 0.01 for x in range(len(source_data))] # 与labels一一对应数值越大离中心区越远
plt.axes(aspect1) # 设置X轴 Y轴比例
# labeldistance标签离中心距离 pctdistance百分百数据离中心区距离 autopct 百分比的格式 shadow阴影
plt.pie(xfracs, labelslabels, explodeexplode, autopct%3.1f %%,shadowFalse, labeldistance1.1, startangle0, pctdistance0.8, center(-1, 0))
# 控制位置bbox_to_anchor数组中前者控制左右移动后者控制上下。ncol控制 图例所列的列数。默认值为1。fancybox 圆边
plt.legend(loc7, bbox_to_anchor(1.2, 0.80), ncol3, fancyboxTrue, shadowTrue, fontsize8)
plt.show()效果图 动态图
主要方法
用python画动态图的主要方法如下
ani FuncAnimation(fig, update, framesnp.linspace(0, 2*np.pi, 128),init_funcinit, blitTrue)动态图官方使用介绍
可以访问下面的链接查看它官网的使用介绍 https://matplotlib.org/api/animation_api.html#id4 示例代码
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import time
# Fixing random state for reproducibility
np.random.seed(196)
# 初始数据绘图
dis np.zeros(40)
dis2 dis
fig, ax plt.subplots()
line, ax.plot(dis)
ax.set_ylim(-1, 1)
plt.grid(True)
ax.set_ylabel(distance: m)
ax.set_xlabel(time)def update(frame):global disglobal dis2global line# 读入模拟a np.random.rand() * 2 - 1time.sleep(np.random.rand() / 10)# 绘图数据生成dis[0:-1] dis2[1:]dis[-1] adis2 dis# 绘图line.set_ydata(dis)# 颜色设置plt.setp(line, color, c, linewidth, 2.0)
ani animation.FuncAnimation(fig, update, framesNone, interval100)
plt.show()效果图 颜色设置
matplotlib中对显示的字体和颜色都可以进行定制
内建颜色
内建颜色蓝色绿色红色青色品红黄色黑色对应字符bgrcmyk 字体设置
字体对应字体黑体SimHei微软雅黑Microsoft YaHei微软正黑体Microsoft JhengHei新宋体NSimSun新细明体PMingLiU细明体MingLiU标楷体DFKai-SB仿宋FangSong楷体KaiTi仿宋_GB2312FangSong_GB2312楷体_GB2312KaiTi_GB2312 资料获取方法
【留言777】 各位想获取源码等教程资料的朋友请点赞 评论 收藏三连
三连之后我会在评论区挨个私信发给你们~