matplotlib常见问题的总结
- 应该选择哪种图形来呈现数据
matplotlib.plot(x,y)
- 折线图
matplotlib.bar(x,y)
- 条形图
matplotlib.scatter(x,y)
- 散点图
matplotlib.hist(data,bins,normed)
- 直方图
- xticks和yticks的设置
"""设置x轴和y轴上的刻度间距"""
# y轴刻度间距
_yticks=range(min(y),max(y)+1)
plt.yticks(_yticks)
# 调整x轴的刻度
# 将x轴上的刻度字符由数字转变为字符串
# _x=list(x)[::10] # 取步长为10
# _xticks=[f"hello,{i}" for i in _x]
# plt.xticks(_x,_xticks)
"""注意:
当x轴上的刻度是数字的时候,对于plt.xticks()我们只需要传递一个参数,这个参数它是数字,plt.xticks会把这个参数全部绘制在x轴上;
当x轴上的刻度是字符串的时候,我们需要传递两个参数,一个是数字,一个是字符串,我们要将字符串和数字进行一一对应,由于是一一对应的关系,所以说,数字的长度和字符串的长度必须是一样的
"""
# 设置x轴上刻度字符为“XX点XX分”
_x=list(x)
_xticks=[f"10点{i}分" for i in range(60)]
_xticks+=[f"11点{i}分" for i in range(60)]
plt.xticks(_x[::10],_xticks[::10],rotation=45) # 注意保证数字和字符串之间是一一对应的关系
# rotation=90 旋转的度数
# 把数值型数据对应在字符串上
- label和titile,grid的设置
"""给图像添加描述信息"""
plt.xlabel("时间/min") # 设置x轴的描述信息
plt.ylabel("温度/℃") # 设置y轴的描述信息
plt.title("10点到12点每分钟的气温变化情况") # 图的标题
"""绘制网格线"""
plt.grid(
linestyle=":", # 线型
color="#6495ED", # 颜色 CornflowerBlue 矢车菊的蓝色 #6495ED 100,149,237
alpha=0.4, # 透明度
)
- 绘图的大小和保存图片
# 设置图片的大小和dpi
fig=plt.figure(
figsize=(16,9),
dpi=100
)
# 在绘制之后保存
# plt.savefig("../data/fig_size.svg") # 参数:文件路径 文件完整的名字
matplotlib使用的流程总结
- 明确问题
- 选择图形的呈现方式
- 准备数据
- 绘图和图形完善
matplotlib更多的图形样式
matplotlib支持的图形是非常多的,如果有其他的需求,我们
可以查看一下url地址:
http://matplotlib.org/gallery/index.html
关于数据可视化
的网站
ECharts 数据可视化实验室
https://vis.baidu.com/
百度图说
https://tushuo.baidu.com/
Apache ECharts (incubating)
https://echarts.apache.org/zh/index.html
更多的绘图工具
plotly
介绍
可视化工具中的github(托管平台),相比于matplotlib更加简单,图形更加漂亮,同时兼容matplotlib和pandas
使用方法
很简单,照着文档写即可
网址
https://plot.ly/python/
预览
seaborn
http://seaborn.pydata.org/
pyechart
https://pyecharts.org/#/