数据可视化<第四天>

5.设置随机漫步图的样式

给点着色

我们将使用颜色映射来指出漫步中各点的先后顺序,并删除点的轮廓颜色
为根据漫步中各点的先后顺序着色,我们传递参数c,并将其设置为一个列表
其中包含各点的先后顺序,由于这些点是按顺序绘制的
因此给参数指定的列表只需包含数字1~5000,如下所示:

import matplotlib.pyplot as plt

from random_walk import RandomWalk

while True:
    #创建一个RandomWalk实例,并将其包含的点都绘制出来
    rw = RandomWalk()
    rw.fill_walk()

    point_numbers = list(range(rw.num_points))
    plt.scatter(rw.x_values,rw.y_values,c=point_numbers,cmap=plt.cm.Blues,
    edgecolor='none',s=5)
    
    plt.show()

    keep_running = input('Make another walk? (y/n):')
    if keep_running == 'n':
        break

我们使用了range()生成了一个数字列表
其中包含的数字与漫步包含的点数相同
接下来,我们将这个列表存储在point_numbers中
以便后面使用它来设置每个漫步点的颜色,我们将参数c设置为point_numbers
指定使用颜色映射Blues,并传递实参edgecolor=none以删除每个点周围的轮廓
最终的随机漫步图从浅蓝色渐变为深蓝色,如图:


三,绘制三角函数图像

import matplotlib.pyplot as plt

import numpy as np

X = np.linspace(-np.pi, np.pi, 50)
C,S = np.cos(X), np.sin(X)


plt.plot(X,C)
plt.plot(X,S)

plt.show()

使用import导入模块matplotlib.pyplot,并简写成plt
使用import导入模块numpy,并简写成np

使用np.linspace定义x:范围是(-π,π);个数是50.
仿真一维数据组(X,C)表示COSX,仿真一维数据组(X,S)表示SINX

绘制图像如下:


下面对图形进行修饰
1.移动x,y轴,使坐标原点为(0,0)
2.修改图线属性,并将对应的函数注明在图线左上角
3.修改坐标值
4.备注图像名称

大概想到这些,下面开始改代码

修改后如下:

import matplotlib.pyplot as plt

plt.rcParams['font.family'] = ['STFangsong']

import numpy as np

X = np.linspace(-np.pi, np.pi, 50)
C,S = np.cos(X), np.sin(X)


plt.plot(X, C, color="blue", linewidth=1.5, linestyle="--", label="cos")
plt.plot(X, S, color="red",  linewidth=1.5, linestyle="-", label="sin")
plt.legend(loc='upper left')

ax = plt.gca()

ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')

ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data', 0))

ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data', 0))

plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi],['${-\pi}$', '${-\pi}{/2}$', '$0$', '${\pi}{/2}$', '${\pi}$'])
plt.yticks([-1,-0.5,0,0.5,1],['$-1$','$-1/2$','$0$','$1/2$','$1$'])

plt.title('正余弦函数',fontsize=15)
# plt.xlabel('x',fontsize=14)
# plt.ylabel('y',fontsize=14)

plt.show()

现在逐条解释代码含义

plt.plot(X, C, color="blue", linewidth=1.5, linestyle="--", label="cos")
plt.plot(X, S, color="red",  linewidth=1.5, linestyle="-", label="sin")
plt.legend(loc='upper left')

设置图线颜色,线重(线的粗细),--为虚线,-为实线
legend将要显示的信息来自于上面代码中的label参数
loc='upper right' 表示图例将添加在图中的右上角.

ax = plt.gca()

ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')

ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data', 0))

ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data', 0))

使用plt.gca获取当前坐标轴信息
使用.spines设置边框:右侧边框;使用.set_color设置边框颜色:无色
使用.spines设置边框:上边框;使用.set_color设置边框颜色:无色

使用.xaxis.set_ticks_position设置x坐标刻度数字或名称的位置:bottom
使用.spines设置边框:x轴;使用.set_position设置边框位置:y=0的位置

使用.yaxis.set_ticks_position设置y坐标刻度数字或名称的位置:left
使用.spines设置边框:y轴;使用.set_position设置边框位置:x=0的位置

plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi],['${-\pi}$', '${-\pi}{/2}$', '$0$', '${\pi}{/2}$', '${\pi}$'])
plt.yticks([-1,-0.5,0,0.5,1],['$-1$','$-1/2$','$0$','$1/2$','$1$'])

使用plt.xticks设置x轴刻度以及名称:刻度为[-np.pi, -np.pi/2, 0, np.pi/2, np.pi]
对应刻度的名称为['-π', '-π/2', '0', 'π/2', 'π']

同理设置y轴刻度和名称

再加上title,最终效果图如下:


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353

推荐阅读更多精彩内容