前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python数据处理从零开始----第四章(可视化)(3)目录正文

Python数据处理从零开始----第四章(可视化)(3)目录正文

作者头像
用户1359560
发布2018-12-04 15:25:54
5300
发布2018-12-04 15:25:54
举报
文章被收录于专栏:生信小驿站生信小驿站

散点图

本节开始介绍用plt.plot和ax.plot画散点图

代码语言:javascript
复制
# In[*]
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
# In[*]
x = np.linspace(0,10,30)
y = np.sin(x)
plt.plot(x,y,'o',color='black')

第三个参数‘o'是代表散点图中散点的形状,可以修改。

代码语言:javascript
复制
rng = np.random.RandomState(1234)
for marker in ['o','.',',','x','+','v','^','<','>','s','d']:
    plt.plot(rng.rand(5),rng.rand(5),marker,
             label="marker'='{0}'".format(marker))
    plt.legend(numpoints=1)
    plt.xlim(0,1.8)

可以拟合成一条曲线,其中’-ok‘中直线(-),圆圈(o),黑色(k)

代码语言:javascript
复制
rng = np.random.RandomState(1234)
for marker in ['o','.',',','x','+','v','^','<','>','s','d']:
    plt.plot(rng.rand(5),rng.rand(5),marker,
             label="marker'='{0}'".format(marker))
    plt.legend(numpoints=1)
    plt.xlim(0,1.8)
    plt.plot(x,y,'-ok')

用plt.scatter画散点图

plt.scatter相对于plt.plot的主要优势在于,前者在创建散点图时具有更高的灵活性,可以单独控制每个散点与数据匹配,也可以让每个散点具有不同的属性(大小,表面颜色,边框颜色等)

代码语言:javascript
复制
rng = np.random.RandomState(1234)
x = rng.randn(100)
y  = rng.randn(100)
colors = rng.rand(100)
sizes = 1000*rng.rand(100)
plt.scatter(x,y,c=colors,s=sizes,alpha=0.3,cmap='viridis')
plt.colorbar()
代码语言:javascript
复制
# In[*]
from sklearn.datasets import load_iris
iris = load_iris()
features = iris.data.T
plt.scatter(features[0],features[1],alpha=0.2,
            s=100*features[3],c=iris.target,cmap='viridis')
plt.xlabel(iris.feature_names[0])
plt.ylab(iris.feature_names[1])

当面对大型数据集时,plt.plot会在效率方面优于plt.scatter,这是因为plt.scatter会对每一个单独的散点进行大小或者颜色的设置,而plt.plot是一次性复制所有的设置。

绘制基本误差线

代码语言:javascript
复制
%reset -f
%clear
# In[*]
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline

# In[*]
plt.style.use('seaborn-whitegrid')
x = np.linspace(0,10,50)
dy = np.linspace(0,1,50)
y = np.sin(x) + dy*np.random.randn(50)
plt.errorbar(x,y,yerr=dy,fmt='.k')

一般来说,误差棒的颜色最好比数据点的颜色稍浅一点比较好,尤其当你的数据点非常多时。

代码语言:javascript
复制
# In[*]
plt.style.use('seaborn-whitegrid')
x = np.linspace(0,10,50)
dy = np.linspace(0,1,50)
y = np.sin(x) + dy*np.random.randn(50)
plt.errorbar(x,y,yerr=dy,fmt='o',
             color='black',ecolor='gray',elinewidth=3,capsize=0)

误差棒还有一些比较少用的参数,例如水平方向的误差线(xerr),单侧误差线(one-sidederrorbar)。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.10.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 散点图
    • 用plt.scatter画散点图
    • 绘制基本误差线
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档