<div class="rich_media_content" id="js_content">
<p><img alt="640?wx_fmt=jpeg" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-8b4389b3e4a300075d2bccb6f691c521"></p>
<p><img alt="640?wx_fmt=jpeg" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-6ca7330dcafb5b129b5f731a13ae9159"></p>
<p>from Unsplash by @Mike Enerio</p>
<p></p>
<p>翻译 | Lemon</p>
<p>来源 | Machine Learning Plus</p>
<p></p>
<p></p>
<blockquote>
<p>本文总结了 Matplotlib 以及 Seaborn 用的最多的50个图形,掌握这些图形的绘制,对于数据分析的可视化有莫大的作用,强烈推荐大家阅读后续内容。</p>
<p>如果觉得内容不错,欢迎分享到您的朋友圈。</p>
<p><strong>Tips: </strong></p>
<p>(1)本文原文部分代码有不准确的地方,已进行修改; </p>
<p>(2)所有正确的源代码,我已整合到 jupyter notebook 文件中,可以在公众号『Python数据之道』后台回复 “<strong>code</strong>”,可获得本文源代码; </p>
<p>(3)运行本文代码,除了安装 matplotlib 和 seaborn 可视化库外,还需要安装其他的一些辅助可视化库,已在代码部分作标注,具体内容请查看下面文章内容。</p>
<p>(4)由于<strong>微信文章总字数不能超过5万字</strong>,删除了部分代码,完整的文章请点击文章底部的<strong>阅读原文</strong>;</p>
</blockquote>
<p></p>
<p>在数据分析和可视化中最有用的 50 个 Matplotlib 图表。这些图表列表允许您使用 python 的 matplotlib 和 seaborn 库选择要显示的可视化对象。</p>
<h2>介绍</h2>
<p>这些图表根据可视化目标的7个不同情景进行分组。例如,如果要想象两个变量之间的关系,请查看“关联”部分下的图表。或者,如果您想要显示值如何随时间变化,请查看“变化”部分,依此类推。</p>
<p>有效图表的重要特征:</p>
<ul class="list-paddingleft-2"><li><p>在不歪曲事实的情况下传达正确和必要的信息。</p></li><li><p>设计简单,您不必太费力就能理解它。</p></li><li><p>从审美角度支持信息而不是掩盖信息。</p></li><li><p>信息没有超负荷。</p></li></ul>
<h2>准备工作</h2>
<p>在代码运行前先引入下面的设置内容。当然,单独的图表,可以重新设置显示要素。</p>
<pre class="blockcode"><code class="language-javascript"># !pip install brewer2mpl
import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
import warnings; warnings.filterwarnings(action='once')
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")
%matplotlib inline
# Version
print(mpl.__version__) #> 3.0.0
print(sns.__version__) #> 0.9.0</code></pre>
<pre class="blockcode"><code class="language-javascript">3.0.2
0.9.0</code></pre>
<h2>一、关联 (Correlation)</h2>
<p>关联图表用于可视化2个或更多变量之间的关系。也就是说,一个变量如何相对于另一个变化。</p>
<h3>1 散点图(Scatter plot)</h3>
<p>散点图是用于研究两个变量之间关系的经典的和基本的图表。如果数据中有多个组,则可能需要以不同颜色可视化每个组。在 matplotlib 中,您可以使用 <code>plt.scatterplot()</code> 方便地执行此操作。</p>
<pre class="blockcode"><code class="language-javascript"># Import dataset
midwest = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/midwest_filter.csv")
# Prepare Data
# Create as many colors as there are unique midwest['category']
categories = np.unique(midwest['category'])
colors = [plt.cm.tab10(i/float(len(categories)-1)) for i in range(len(categories))]
# Draw Plot for Each Category
plt.figure(figsize=(16, 10), dpi= 80, facecolor='w', edgecolor='k')
for i, category in enumerate(categories):
plt.scatter('area', 'poptotal',
data=midwest.loc[midwest.category==category, :],
s=20, cmap=colors[i], label=str(category))
# "c=" 修改为 "cmap=",Python数据之道 备注
# Decorations
plt.gca().set(xlim=(0.0, 0.1), ylim=(0, 90000),
xlabel='Area', ylabel='Population')
plt.xticks(fontsize=12); plt.yticks(fontsize=12)
plt.title("Scatterplot of Midwest Area vs Population", fontsize=22)
plt.legend(fontsize=12)
plt.show() </code></pre>
<p><img alt="640?wx_fmt=png" src="https://beijingopt |
|