Python matplotlib 数据分布
利用plt.hist()
import matplotlib.pylab as plt
%matplotlib inline
plt.figure(figsize=(21, 12))
plt.hist(x, bins=50)
# plt.hist(df['title'].apply(lambda x: len(x)), bins=50)
plt.grid()
plt.savefig('distribution.png')
模块化:
def plot_data_distribution(value_list, figsize=(21, 12), bins=50, fout=None):
plt.figure(figsize=figsize)
plt.hist(value_list, bins=bins)
plt.xticks(range(int(max(value_list) - min(value_list))))
# plt.xticks([i * 0.01 for i in range(0, 110, 5)])
# plt.xticks([0.1 * x for x in range(11)])
# plt.xlim(0, 1)
plt.grid()
if fout:
plt.savefig(fout)
else:
plt.show()
把多个数据分布显示在一个直方图表中对比:
def plot_multi_data_distribution(value_list1, value_list2, figsize=(21, 12), bins=50, fout=None):
plt.figure(figsize=figsize)
plt.hist([value_list1, value_list2], bins=bins, color=["r", "b"], label=["value_list1", "value_list2"])
# plt.xticks(range(int(max(value_list) - min(value_list))))
plt.grid()
plt.legend(loc=1)
plt.xlabel("probability")
plt.ylabel("count")
plt.title("data distribution")
if fout:
plt.savefig(fout)
else:
plt.show()
def gen_colors(num):
# colors = ["blue", "red", "green", "black", "brown", "orange", "gray", "purple", "salmon", "hotpink",
# "#222222", "#444444", "#666666", "#888888", "#AAAAAA", "#CCCCCC", "#EEEEEE",
# "#111111", "#333333", "#555555", "#777777", "#999999"]
colors = ["black", "darkgrey", "red", "darkorange", "brown", "darkgoldenrod", "yellow", "lightgreen", "green", "lime",
"cyan", "deepskyblue", "dodgerblue", "cornflowerblue", "blue", "purple", "fuchsia", "lightpink"]
return colors[:num] def plot_multi_data_distribution(value_lists, names, figsize=(21, 12), bins=50, fout=None):
plt.figure(figsize=figsize)
plt.hist(value_lists, bins=bins, color=gen_colors(num=len(value_lists)), label=names)
# plt.xticks(range(int(max(value_list) - min(value_list))))
plt.xticks([i * 0.01 for i in range(0, 110, 5)])
plt.grid()
plt.legend(loc=1)
plt.xlabel("probability")
plt.ylabel("count")
plt.title("data distribution")
if fout:
plt.savefig(fout)
else:
plt.show()
生成渐变色:
def gen_colors(num, base_color="#1000FF", interval=1600000):
base = int(base_color.replace("#", "0x"), 16)
# return ["blue", "red", "green", "black", "brown", "orange", "gray", "purple", "hotpink", "salmon"][:num]
# return ["#0000FF", "#00FF00", "#FF0000", "#00FFFF", "#FF00FF", "#FFFF00", "#000000",
# "#666666", "#660000", "#666600", "#660066"][:num]
return ["#" + hex(base + (i * interval))[2:] for i in range(num)]
例如下面这种(看到眼花哈哈哈):

还是选择几种比较特别的颜色会方便看一些.
Matplotlib uses a dictionary from its colors.py module. To print the names use:
# python2: import matplotlib
for name, hex in matplotlib.colors.cnames.iteritems():
print(name, hex) # python3: import matplotlib
for name, hex in matplotlib.colors.cnames.items():
print(name, hex)
This is the complete dictionary:
cnames = {
'aliceblue': '#F0F8FF',
'antiquewhite': '#FAEBD7',
'aqua': '#00FFFF',
'aquamarine': '#7FFFD4',
'azure': '#F0FFFF',
'beige': '#F5F5DC',
'bisque': '#FFE4C4',
'black': '#000000',
'blanchedalmond': '#FFEBCD',
'blue': '#0000FF',
'blueviolet': '#8A2BE2',
'brown': '#A52A2A',
'burlywood': '#DEB887',
'cadetblue': '#5F9EA0',
'chartreuse': '#7FFF00',
'chocolate': '#D2691E',
'coral': '#FF7F50',
'cornflowerblue': '#6495ED',
'cornsilk': '#FFF8DC',
'crimson': '#DC143C',
'cyan': '#00FFFF',
'darkblue': '#00008B',
'darkcyan': '#008B8B',
'darkgoldenrod': '#B8860B',
'darkgray': '#A9A9A9',
'darkgreen': '#006400',
'darkkhaki': '#BDB76B',
'darkmagenta': '#8B008B',
'darkolivegreen': '#556B2F',
'darkorange': '#FF8C00',
'darkorchid': '#9932CC',
'darkred': '#8B0000',
'darksalmon': '#E9967A',
'darkseagreen': '#8FBC8F',
'darkslateblue': '#483D8B',
'darkslategray': '#2F4F4F',
'darkturquoise': '#00CED1',
'darkviolet': '#9400D3',
'deeppink': '#FF1493',
'deepskyblue': '#00BFFF',
'dimgray': '#696969',
'dodgerblue': '#1E90FF',
'firebrick': '#B22222',
'floralwhite': '#FFFAF0',
'forestgreen': '#228B22',
'fuchsia': '#FF00FF',
'gainsboro': '#DCDCDC',
'ghostwhite': '#F8F8FF',
'gold': '#FFD700',
'goldenrod': '#DAA520',
'gray': '#808080',
'green': '#008000',
'greenyellow': '#ADFF2F',
'honeydew': '#F0FFF0',
'hotpink': '#FF69B4',
'indianred': '#CD5C5C',
'indigo': '#4B0082',
'ivory': '#FFFFF0',
'khaki': '#F0E68C',
'lavender': '#E6E6FA',
'lavenderblush': '#FFF0F5',
'lawngreen': '#7CFC00',
'lemonchiffon': '#FFFACD',
'lightblue': '#ADD8E6',
'lightcoral': '#F08080',
'lightcyan': '#E0FFFF',
'lightgoldenrodyellow': '#FAFAD2',
'lightgreen': '#90EE90',
'lightgray': '#D3D3D3',
'lightpink': '#FFB6C1',
'lightsalmon': '#FFA07A',
'lightseagreen': '#20B2AA',
'lightskyblue': '#87CEFA',
'lightslategray': '#778899',
'lightsteelblue': '#B0C4DE',
'lightyellow': '#FFFFE0',
'lime': '#00FF00',
'limegreen': '#32CD32',
'linen': '#FAF0E6',
'magenta': '#FF00FF',
'maroon': '#800000',
'mediumaquamarine': '#66CDAA',
'mediumblue': '#0000CD',
'mediumorchid': '#BA55D3',
'mediumpurple': '#9370DB',
'mediumseagreen': '#3CB371',
'mediumslateblue': '#7B68EE',
'mediumspringgreen': '#00FA9A',
'mediumturquoise': '#48D1CC',
'mediumvioletred': '#C71585',
'midnightblue': '#191970',
'mintcream': '#F5FFFA',
'mistyrose': '#FFE4E1',
'moccasin': '#FFE4B5',
'navajowhite': '#FFDEAD',
'navy': '#000080',
'oldlace': '#FDF5E6',
'olive': '#808000',
'olivedrab': '#6B8E23',
'orange': '#FFA500',
'orangered': '#FF4500',
'orchid': '#DA70D6',
'palegoldenrod': '#EEE8AA',
'palegreen': '#98FB98',
'paleturquoise': '#AFEEEE',
'palevioletred': '#DB7093',
'papayawhip': '#FFEFD5',
'peachpuff': '#FFDAB9',
'peru': '#CD853F',
'pink': '#FFC0CB',
'plum': '#DDA0DD',
'powderblue': '#B0E0E6',
'purple': '#800080',
'red': '#FF0000',
'rosybrown': '#BC8F8F',
'royalblue': '#4169E1',
'saddlebrown': '#8B4513',
'salmon': '#FA8072',
'sandybrown': '#FAA460',
'seagreen': '#2E8B57',
'seashell': '#FFF5EE',
'sienna': '#A0522D',
'silver': '#C0C0C0',
'skyblue': '#87CEEB',
'slateblue': '#6A5ACD',
'slategray': '#708090',
'snow': '#FFFAFA',
'springgreen': '#00FF7F',
'steelblue': '#4682B4',
'tan': '#D2B48C',
'teal': '#008080',
'thistle': '#D8BFD8',
'tomato': '#FF6347',
'turquoise': '#40E0D0',
'violet': '#EE82EE',
'wheat': '#F5DEB3',
'white': '#FFFFFF',
'whitesmoke': '#F5F5F5',
'yellow': '#FFFF00',
'yellowgreen': '#9ACD32'}
上面对应的颜色:

另外的显示方式:

装了seaborn扩展的话,在字典seaborn.xkcd_rgb中包含所有的xkcd crowdsourced color names。如下:
plt.plot([1,2], lw=4, c=seaborn.xkcd_rgb['baby poop green'])
所有颜色如下:

更多详细参考:
https://www.cnblogs.com/jerrybaby/p/6118236.html
http://baijiahao.baidu.com/s?id=1595822592180003842&wfr=spider&for=pc
http://baijiahao.baidu.com/s?id=1576521879286470276&wfr=spider&for=pc
https://blog.csdn.net/yywan1314520/article/details/50818471
https://www.cnblogs.com/laoniubile/p/5893286.html
Python matplotlib 数据分布的更多相关文章
- python matplotlib 中文显示参数设置
python matplotlib 中文显示参数设置 方法一:每次编写代码时进行参数设置 #coding:utf-8import matplotlib.pyplot as pltplt.rcParam ...
- python matplotlib plot 数据中的中文无法正常显示的解决办法
转发自:http://blog.csdn.net/laoyaotask/article/details/22117745?utm_source=tuicool python matplotlib pl ...
- python matplotlib画图产生的Type 3 fonts字体没有嵌入问题
ScholarOne's 对python matplotlib画图产生的Type 3 fonts字体不兼容,更改措施: 在程序中添加如下语句 import matplotlib matplotlib. ...
- 使用Python matplotlib做动态曲线
今天看到“Python实时监控CPU使用率”的教程: https://www.w3cschool.cn/python3/python3-ja3d2z2g.html 自己也学习如何使用Python ma ...
- python matplotlib 中文显示乱码设置
python matplotlib 中文显示乱码设置 原因:是matplotlib库中没有中文字体.1 解决方案:1.进入C:\Anaconda64\Lib\site-packages\matplot ...
- Python - matplotlib 数据可视化
在许多实际问题中,经常要对给出的数据进行可视化,便于观察. 今天专门针对Python中的数据可视化模块--matplotlib这块内容系统的整理,方便查找使用. 本文来自于对<利用python进 ...
- 转:使用 python Matplotlib 库 绘图 及 相关问题
使用 python Matplotlib 库绘图 转:http://blog.csdn.net/daniel_ustc/article/details/9714163 Matplotlib ...
- python+matplotlib 绘制等高线
python+matplotlib 绘制等高线 步骤有七: 有一个m*n维的矩阵(data),其元素的值代表高度 构造两个向量:x(1*n)和y(1*m).这两个向量用来构造网格坐标矩阵(网格坐标矩阵 ...
- 安装python Matplotlib 库
转:使用 python Matplotlib 库 绘图 及 相关问题 使用 python Matplotlib 库绘图 转:http://blog.csdn.net/daniel_ustc ...
随机推荐
- LeetCode——remove-duplicates-from-sorted-list-ii
Question Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only dist ...
- Java的历史及发展
Java之父:詹姆斯·高斯林 (James Gosling) Java自1995诞生,至今已经20多年的历史. Java的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名.Java语 ...
- 从0开始 数据结构 AC自动机 模板(from kkke)
AC自动机模板 2.4.1 头文件&宏&全局变量 #include <queue> #define MAXN 666666 #define MAXK 26//字符数量 st ...
- 综合一句话Shell破解
之前我在论坛发过了一句话的破解工具. 所以决定还是在基础上在改改,符合某些人的利用. 上一版只支持HTTPS/ASPX,这次改进后,也算是最后一版. 支持:PHP/HTTP/HTTPSASPX/HTT ...
- 直播P2P技术2-低延迟模型
低延迟模型 由上一篇文章我们知道:网状拓扑虽最大化利用了所有节点的资源却无法降低数据延迟,而树状拓扑尽管数据传输效率高,延迟低,但只利用了少部分节点的带宽资源,不适应高码率的直播P2P网络. 那么如何 ...
- IIS服务器管理学习
工欲善其事必先利其器 首先给服务器配上强力的软件,用于安全防护和监控. 公司服务器用的阿里云的ECS,已经有防护和监控了,之后又选择额外加了一个安全狗 为了监控服务器上系统的各项运行指标,又买了听云平 ...
- Memcached get 命令
Memcached get 命令获取存储在 key(键) 中的 value(数据值) ,如果 key 不存在,则返回空. 语法: get 命令的基本语法格式如下: get key 多个 key 使用空 ...
- Java的 final 关键字
本文主要探讨Java final 关键字修饰变量时的用法. !!!!文末有彩蛋!!!! 1.修饰类 当用final修饰一个类时,表明这个类不能被继承.也就是说,如果一个类你永远不会让他被继承,就可以用 ...
- Javascript中的void
原来void是将其后的字面量当元表达式执行,并永远返回undefined.同时undefined不是关键词.. 由于JS表达式偏啰嗦,于是最近便开始采用Coffeescript来减轻负担.举个栗子,当 ...
- Android Kotlin —— 语言结合
2017 Google I/O 大会开始就宣布,将Kotlin语言作为安卓开发的一级编程语言. Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发. Ko ...