各类绘图

## 导入包
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns ## 参数设置
#-------------------------01-------------------------
large = 22; med = 16; small = 12
params = {'axes.titlesize': large,
'legend.fontsize': med,
'figure.figsize': (16, 10),
'axes.labelsize': med,
'axes.titlesize': med,
'xtick.labelsize': med,
'ytick.labelsize': med,
'figure.titlesize': large}
plt.rcParams.update(params)
plt.style.use('seaborn-whitegrid')
sns.set_style("white")
# 显示中文
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False ## box
#-------------------------01-------------------------
fig=plt.figure(figsize=(10,6), dpi= 80)
ax1=fig.add_subplot(121)
sns.boxplot(x=personal_df.minutes,ax=ax1)
ax1.set_xlabel('个人客户')
ax1.set_xlim(0,500)
ax1.set_title('空调开启时长分布', fontsize=16, loc='center')
ax1.legend() #-------------------------02-------------------------
fig=plt.figure(figsize=(12,6), dpi= 80)
ax2=fig.add_subplot(121)
sns.boxplot(x='company_type', y='minutes',data = company_df,ax=ax2)
ax2.set_xlabel('公司客户')
ax2.set_title('空调开启时长分布', fontsize=16, loc='center')
ax2.legend() ## bar
#-------------------------01-------------------------
plt.figure(figsize=(10,6),dpi = 72)
ax = sns.barplot(x=p_vehacfanspeed_times_mean_df.index.values, y=p_vehacfanspeed_times_mean_df.times_minutes.values, palette="rocket")
ax.axhline(0, color="k", clip_on=False)
ax.set_ylabel('平均时长/分钟')
ax.set_xlabel('空调风速')
# ax.set_axis_off()
ax.set_title('个人用户', fontsize=24, loc="center", pad=10)
# Annotate Text
for i, cty in enumerate(p_vehacfanspeed_times_mean_df.times_minutes.values):
ax.text(i, cty+0.5, round(cty, 1),fontsize=12, horizontalalignment='center') #-------------------------02-------------------------
otal_width, n = 0.8, 2 # 有多少个类型,只需更改n即可
width = total_width / n # the width of the bars
# x = x - (total_width - width) / 2 fig, ax = plt.subplots(figsize=(10,8),dpi= 80)
rects1 = ax.bar(company_out_freq_count_s.index.values+width, company_out_freq_count_s.values, width,label = '公司客户', color='r')
rects2 = ax.bar(personal_out_freq_count_s.index.values, personal_out_freq_count_s.values, width,label = '个人客户', color='b') def autolabel(rects):
# attach some text labels
for rect in rects:
height = rect.get_height()
ax.text(rect.get_x() + rect.get_width()/2., 1.02*height,
'%d' % int(height),
ha='center', va='bottom') autolabel(rects1)
autolabel(rects2) ax.set_ylabel('频数')
ax.set_title('个人/公司车辆一天出行次数分布')
plt.legend() ## distplot
#-------------------------01-------------------------
fig=plt.figure(figsize=(16,6), dpi= 80) ax1=fig.add_subplot(121) #1*2的图形 在第一个位置
sns.distplot(company_out_df['delta_time_h'], color="dodgerblue", label="company_out", hist_kws={'alpha':.7}, kde_kws={'linewidth':3},ax=ax1)
sns.distplot(personal_out_df['delta_time_h'], color="orange", label="personal_out", hist_kws={'alpha':.7}, kde_kws={'linewidth':3},ax=ax1)
ax1.set_ylim(0,1)
# Decoration
ax1.set_xlabel("单次出行时长/h")
ax1.set_title('单次出行时长密度分布', fontsize=22)
ax1.legend() ## pie
#-------------------------01-------------------------
fig = plt.figure(figsize=(12, 8), dpi= 80)
def func(pct, allvals):
absolute = int(pct/100.*np.sum(allvals))
return "{:.1f}% ({:d} )".format(pct, absolute) ax1=fig.add_subplot(221)
personal_charge_data = [personal_fcharge_car_nums, personal_scharge_car_nums]
categories = pd.Series(data = ['快充', '慢充'])
explode = [0,0.1]
wedges, texts, autotexts = ax1.pie(personal_charge_data,
autopct=lambda pct: func(pct, personal_charge_data),
textprops=dict(color="w"),
colors=plt.cm.Dark2.colors,
startangle=140,
explode=explode) # ax1.legend(wedges, categories, title="充电类型", loc="center left", bbox_to_anchor=(1, 0, 0.5, 1))
ax1.set_title('个人充电类型占比')

相关资源

帮助文档:

Matplotlib tutorial for beginner: https://github.com/rougier/matplotlib-tutorial

图之典:http://tuzhidian.com/

例子:

effective data visualization

Matplotlib 中文文档

notebook_matplotlib_visualizations.ipynb

top-50-matplotlib-visualizations-the-master-plots-python

art_of_data_visualization: text pre-processing

利用 Matplotlib 绘图的更多相关文章

  1. python中利用matplotlib绘图可视化知识归纳

    python中利用matplotlib绘图可视化知识归纳: (1)matplotlib图标正常显示中文 import matplotlib.pyplot as plt plt.rcParams['fo ...

  2. Matplotlib绘图双纵坐标轴设置及控制设置时间格式

    双y轴坐标轴图 今天利用matplotlib绘图,想要完成一个双坐标格式的图. fig=plt.figure(figsize=(20,15)) ax1=fig.add_subplot(111) ax1 ...

  3. matplotlib绘图基本用法-转自(http://blog.csdn.net/mao19931004/article/details/51915016)

    本文转载自http://blog.csdn.net/mao19931004/article/details/51915016 <!DOCTYPE html PUBLIC "-//W3C ...

  4. 【CITE】利用鼠标绘图C#

    实例018 利用鼠标绘图 光盘位置:光盘\MR\01\018 在常用的画图软件中,用户一般都可以通过鼠标在其中绘图,那么该功能是如何实现的呢?本实例将讲解如何使用C#实现通过拖动鼠标在窗体上绘图的功能 ...

  5. 利用WPF绘图

    C#入门经典 25章的一个例子,利用WPF绘图. XAML: <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/p ...

  6. matplotlib 绘图

    http://blog.csdn.net/jkhere/article/details/9324823 都打一遍 5 matplotlib-绘制精美的图表 matplotlib 是python最著名的 ...

  7. python实战学习之matplotlib绘图续

    学习完matplotlib绘图可以设置的属性,还需要学习一下除了折线图以外其他类型的图如直方图,条形图,散点图等,matplotlib还支持更多的图,具体细节可以参考官方文档:https://matp ...

  8. matplotlib绘图的基本操作

    转自:Laumians博客园 更简明易懂看Matplotlib Python 画图教程 (莫烦Python)_演讲•公开课_科技_bilibili_哔哩哔哩 https://www.bilibili. ...

  9. python实战学习之matplotlib绘图

    matplotlib 是最流行的Python底层绘图库,主要做数据可视化图表 可以将数据可视化,能够更直观的呈现数据 matplotlib绘图基本要点 首先实现一个简单的绘图 # 导入pyplot f ...

随机推荐

  1. ubuntu ufw相关命令

    引自:http://www.cnblogs.com/jiangyao/archive/2010/05/19/1738909.html 就这句话就够了,下面的可以不看 sudo  ufw enable| ...

  2. GIt 错误与常用命令

    命令和一些其他的属性等 *)在使用git commit -m “description" 这个描述会加在上次提交后所有add的文件后面,所以也可能产生不符合这个描述的文件后面也跟了这个描述, ...

  3. gcc 编译过程

    gcc 编译过程从 hello.c 到 hello(或 a.out)文件, 必须历经 hello.i. hello.s. hello.o,最后才得到 hello(或a.out)文件,分别对应着预处理. ...

  4. Map接口---Day20

    Map接口概述: 现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等, 这种一一对应的关系,就叫做映射.Java提供了专门的集合类用来存放这种对象关系 ...

  5. pandas-20 DataFrame()的基本操作

    pandas-20 DataFrame()的基本操作 感觉上pandas的DataFrame就像numpy中的矩阵,不过它拥有列名和索引名,实际操作起来会更方便一些. 如: df = pd.read_ ...

  6. expor和import的用法

    1.Export 模块是独立的文件,该文件内部的所有的变量外部都无法获取.如果希望获取某个变量,必须通过export输出 // profile.js export var firstName = 'M ...

  7. 数据结构与算法16—平衡二叉(AVL)树

    我们知道,对于一般的二叉搜索树(Binary Search Tree),其期望高度(即为一棵平衡树时)为log2n,其各操作的时间复杂度O(log2n)同时也由此而决定.但是,在某些极端的情况下(如在 ...

  8. NumPy 之 案例(随机漫步)

    import numpy as np The numpy.random module supplements(补充) the built-in Python random with functions ...

  9. H3C STA>PC的数据转发

  10. 如何测试Web服务.3

    -->全文字数:2254,需要占用你几分钟的阅读时间 ,您也可以收藏后,时间充足时再阅读- ->第一节讲了<Web服务基础介绍>,第二节讲了<Web服务测试工具> ...